Помогите пожалуйста с ботом
Есть такое явление как "Мини-чат" на всем известном хостинге для ленивых.
Со своими функциями он вполне справляется, но потребовался бот дабы упростить жизнь администрации. Нашел что то вроде бота: <?if($MESSAGE$='Фраза На Которую отвечает бот')?><div style="border: 1px solid black;"><b><u>Имя бота</u></b><br> Ответ бота</div> <?endif?> Исправил, так сказать сделал выводимое в чат сообщение более приемлемого вида: <?if($MESSAGE$='Фраза На Которую отвечает бот')?> <div class="cBlockBot" style="padding:0 4px 5px 2px;margin-bottom:3px;"> <div style="float:right;font-size:8px;" title="Тут обычно стоит время когда было оставлено сообщение">Тут обычно стоит время когда было оставлено сообщение</div> <div style="text-align:left;"> <img src="/img/bot.png" width="13" border="0" title="Чат бот - $SITE_NAME$" style="vertical-align:-2px"/> <a href="javascript:void('Apply to')" onclick="parent.window.document.getElementById('mchatMsgF').focus();parent.window.document.getElementById('mchatMsgF').value+='[i]Ник бота[/i], ';return false;"><b>Ник бота</b></a> </div> <div class="cMessage" style="text-align:left;">Ответ бота</div> </div> <?endif?> И тут же возникла огромнейшая проблема. На каждую фразу нужно даже не по одному такому блоку, т.к. он не понимает одно и тоже слово если одну из букв написать большой или на оборот маленькой (если вписано $MESSAGE$='Привет', а в чате написать с маленькой буквы то ответа не будет). Вот и получается что если дописать хотя бы фраз 40 то код вида материалов чата будет просто мега огромным. В связи с этим возник вопрос Можно ли чтобы фраза на которую бот отвечает и его ответ были вписаны в скрипт и брались именно от туда? Просто я знаю что с помощью JavaScript возможна замена и добавление элементов на странице. А все мои познания в js заканчиваются на редакции уже написанных скриптов.:( |
вы форумом не ошиблись?
Цитата:
похоже что это у них какой-то модуль в шаблонизаторе. скорее всего это даже не полноценный язык программирования, а только набор лексем расширяющих способы генерации контента. смотрите справку по нему на ихнем сайте. ну, или задавайте вопрос у них на форуме. |
Попробуем немного прояснить по поводу
<?if($MESSAGE$='Фраза На Которую отвечает бот')?> $MESSAGE$ - это внутренний тег означающий сообщение. <?if($код$)?> <?else?> <?endif?> - Это специальные условные операторы, которые позволяют реализовать условия в шаблонах. в донном случае $MESSAGE$ обозначает уже написанное сообщение в чате. То есть вот так на сайте <div class="cMessage" style="text-align:left;">Привет всем!</div><br> Вот так в шаблоне <div class="cMessage" style="text-align:left;">$MESSAGE$</div><br> По этому получается $MESSAGE$="Фраза На Которую отвечает бот" А чтобы это все работало запихиваем в <?if($код$)?> и закрываем <?endif?> Вот мне и нужно чтобы скрипт хватал сообщение - $MESSAGE$="от суда" и вставлял <div class="cMessage" style="text-align:left;">вот суда</div> Только вот как это сделать я не знаю :( Я могу сделать так чтоб он заменял слово или фразу, а вот чтоб вставлял в другое место увы нет :( |
не держи меня за конченного идиота.
Любому человеку знающему хотя бы один из языков программирования это очевидно. А вот как привести $MESSAGE$ к нижнему регистру, или вообще хоть как-то работать со строками содержащимися в тегах, без документации не очень-то очевидно. так что иди читать документацию по этому макроязыку к JS это не имеет никакого отношения. максимум что ты можешь сделать с помощью JS-вставить в клиент свой код, который бы перед отправкой сообщения пользователя передавал бы его уже приведенным к нижнему регистру, с вычищенными пробелами, и прочая. как минус-сообщения именно так и будут выглядеть в чате ищите в коде чата соответсвующий блок, и правьте его, если он доступен для редактирования. http://javascript.ru/String - для работы со строками |
Почему сразу за идиота?
Зачем ругаться? В тех. поддержке пояснили что нужно вообще забыть про $MESSAGE$ и задать id для сообщений пользователя и бота. Скрипт должен срабатывать от фразы или слова в диве с сообщением пользователя и вписывать ответную в див с сообщением бота. Примерно так: Сообщение пользователя <div class="cMessage" id="usermessage" style="text-align:left;">От этой фразы сработает скрипт бота</div> Сообщение бота <div class="cMessage" id="botmessage" style="text-align:left;">Скрипт работает</div> У сообщений которые отправляют пользователи всегда будет один и тот же id. div в котором находиться сообщение пользователя не когда не меняется. У бота естественно тоже. Вся проблема в том что я не знаю как это сделать :( Просто это не замена слова или фразы, а вставка дополнительной в другое место. |
Часовой пояс GMT +3, время: 22:25. |