Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.12.2009, 05:31
Интересующийся
Отправить личное сообщение для Himmler Посмотреть профиль Найти все сообщения от Himmler
 
Регистрация: 02.12.2009
Сообщений: 10

Помогите пожалуйста с ботом
Есть такое явление как "Мини-чат" на всем известном хостинге для ленивых.
Со своими функциями он вполне справляется, но потребовался бот дабы упростить жизнь администрации. Нашел что то вроде бота:

<?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 заканчиваются на редакции уже написанных скриптов.

Последний раз редактировалось Himmler, 02.12.2009 в 05:39.
Ответить с цитированием
  #2 (permalink)  
Старый 02.12.2009, 07:59
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

вы форумом не ошиблись?
Сообщение от Himmler
<?if($MESSAGE$='Фраза На Которую отвечает бот')?>
это не Java Script. И даже не один из известных мне языков программиирования
похоже что это у них какой-то модуль в шаблонизаторе.
скорее всего это даже не полноценный язык программирования, а только набор лексем расширяющих способы генерации контента.
смотрите справку по нему на ихнем сайте.
ну, или задавайте вопрос у них на форуме.
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2009, 08:31
Интересующийся
Отправить личное сообщение для Himmler Посмотреть профиль Найти все сообщения от Himmler
 
Регистрация: 02.12.2009
Сообщений: 10

Попробуем немного прояснить по поводу

<?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>

Только вот как это сделать я не знаю
Я могу сделать так чтоб он заменял слово или фразу, а вот чтоб вставлял в другое место увы нет

Последний раз редактировалось Himmler, 02.12.2009 в 08:46.
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2009, 08:44
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

не держи меня за конченного идиота.
Любому человеку знающему хотя бы один из языков программирования это очевидно.
А вот как привести $MESSAGE$ к нижнему регистру, или вообще хоть как-то работать со строками содержащимися в тегах, без документации не очень-то очевидно.
так что иди читать документацию по этому макроязыку
к JS это не имеет никакого отношения.
максимум что ты можешь сделать с помощью JS-вставить в клиент свой код, который бы перед отправкой сообщения пользователя передавал бы его уже приведенным к нижнему регистру, с вычищенными пробелами, и прочая. как минус-сообщения именно так и будут выглядеть в чате
ищите в коде чата соответсвующий блок, и правьте его, если он доступен для редактирования.
http://javascript.ru/String - для работы со строками
Ответить с цитированием
  #5 (permalink)  
Старый 02.12.2009, 10:22
Интересующийся
Отправить личное сообщение для Himmler Посмотреть профиль Найти все сообщения от Himmler
 
Регистрация: 02.12.2009
Сообщений: 10

Почему сразу за идиота?
Зачем ругаться?

В тех. поддержке пояснили что нужно вообще забыть про $MESSAGE$ и задать id для сообщений пользователя и бота. Скрипт должен срабатывать от фразы или слова в диве с сообщением пользователя и вписывать ответную в див с сообщением бота.

Примерно так:

Сообщение пользователя
<div class="cMessage" id="usermessage" style="text-align:left;">От этой фразы сработает скрипт бота</div>


Сообщение бота
<div class="cMessage" id="botmessage" style="text-align:left;">Скрипт работает</div>


У сообщений которые отправляют пользователи всегда будет один и тот же id. div в котором находиться сообщение пользователя не когда не меняется. У бота естественно тоже.

Вся проблема в том что я не знаю как это сделать
Просто это не замена слова или фразы, а вставка дополнительной в другое место.

Последний раз редактировалось Himmler, 02.12.2009 в 10:35.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста, очень срочно!!! PAMAC AJAX и COMET 1 20.10.2009 22:38
Помогите, пожалуйста! rzhsasha Ваши сайты и скрипты 2 20.07.2009 20:07
Пожалуйста, помогите создать Web-страницу, содержащую заданную форму Mikhail Элементы интерфейса 2 13.05.2009 21:57
Помогите, пожалуйста zashibis Общие вопросы Javascript 1 02.12.2008 13:07
Помогите пожалуйста Гость Общие вопросы Javascript 1 23.02.2008 08:17