В отличии от простых правил и команд, которые задаются одной строкой, диалоги - это последовательность правил или команд, где каждая следующая команда является продолжением предыдущей. Например, игра казино реализована посредством диалога. Чтобы вы понимали разницу между правилами и диалогами. Вот обычное правило: А вот простейший диалог в два шага: В первом случае все данные передаются одним сообщением (см. правила чат-бота), во-втором требуется подтверждение обмена. Формат диалогов такой: Код: bot|что;какие;есть|нового;новости|news еще;ещё;все;всё|news bot|казино|casino 1;кости;2;орел;3;наперстки|casino ;<указываем сумму ставки и валюту>|casino ;<пишем ответ>|casino еще;ещё;другая;новая;снова;заново;повтор|casino bot|обменяй;поменяй|exchanger да;ok;ес;оки|exchanger Диалоги между собой разделены двумя переносами строки, а шаги в диалоге - одним переносом строки. Алгоритм работы диалогов. Сначала бот ищет совпадение с первым шагом диалога, например, "бот, казино". Если совпадение найдено, за пользователем закрепляется данный диалог и бот ожидает от него сообщения, совпадающее с правилом второго шага, потом третьего и т.д. Когда шаги заканчиваются или истекло время ответа (обычно 1 минута на каждый шаг, задается в функции) диалог обрывается. Рассмотрим на примере игры казино (см. полную справку по казино, там подробно расписан алгоритм действий), где на втором шаге надо выбрать игру: кости, орел или наперстки. Пользователь отвечает, например, "3" или "рулетка", получив корректный ответ бот предлагает выбрать сумму и валюту ставки, пользователь перемещается на 3-й шаг. Если ответ некорректный, например, 4, бот пишет, что не понял вас и зацикливает на втором шаге, пока правильно не введете. Можно перепрыгивать несколько шагов, например, в одном сообщении сразу указать и игру и ставку командой "бот казино игра 3 ставка 5000 сатош" и тогда пользователь переместится сразу на 4-й шаг, где нужно указать ответ. Напоминаю, что бот реагирует только на ключевы слова, т.е. можно писать боту как в более произвольной форуме, например, "бот, давай сыграем в казино, в игру кости, ставлю 5000 сатош" так и более короткой "бот казино кости 5000 сатош". После того, как сыграли, вы можете повторить игру, написав "еще" и бот переместит вас на третий шаг, где нужно указать ставку, либо вы можете написать "еще, ставка 5000 сатош" и бот переместит вас на 4 шаг, где нужно указать ответ. Более простой пример: последние новости. Этот функционал предусмотрен для интеграции бота с мессенджером Телеграм, чтобы не заходя на форум вы могли просмотреть последние новости и кликнуть на интересующую. При команде "бот, что нового" или "бот, есть новости?" включается диалог и бот дает ссылку на последнюю новость, зацикливая вас на втором шаге, где командой "еще" вы просматриваете остальные новости. Можно добавлять диалоги без использования функций, просто для развлечений. Код: bot|какая;узнай|погода;погоду|*, в каком городе? |*, мне лень;*, спроси у Яндекса Здесь пользователь спрашивает у бота погоду, бот спрашивает "в каком городе?", пользователь пишет любой город, бот отвечает "мне лень" или "спроси у Яндекса". Шагов может быть сколько угодно много, по идее, бот может поддерживать "осмысленный" диалог. Варианты своих диалогов вы можете размещать здесь или отправлять мне в ПМ.
вообще понятно все впринципе.Бот иногда (не всегда) не воспринимает фразы со знаками препинания,но если пользоваться только пробелом,понимает прекрасно..
ну к примеру: бот,казино 3, 5000 сатош не всегда отвечает..а если просто набираешь: бот казино 3 5 сатош то как правило сбоев нет,если одновременно никто в чате его не треплет)