Пример моего диалога с ботом.
В данном примере не отражены отладочные сообщения, которые сейчас бот отсылает каждому пользователю на каждый ответ. Например, то, что в данном примере изображено как:
- *[USER]*: Дело - дрянь!
- *[BOT]*: Извините, я вас не понял.
- *[BOT]*: ПОДСКАЗКА: у вас урчит в животе.
- *[USER]*: Раз так, нужно найти еду.
На самом деле имеет следующий вид:

Лог диалога:
- *[USER]*: /start
- // *Сообщение "start" посылает telegram, когда нажимается кнопка "запустить бота".*
- *[BOT]*: •Представьте, что вы оказались на необитаемом острове. Прямо в таком виде, в каком читаете сейчас это задание! Только с теми вещами, которые есть на вас и у вас в карманах. •Место действия – средняя полоса. Время действия – сентябрь. Остров небольшой. Две берёзы, три сосны, кустарник, трава, есть ручей с пресной водой. Хищников нет. Есть мелкие зверушки, в море вокруг – рыба. С вами вместе на берег волны выбросили деревянный ящик с ... эмалированными кастрюлями с крышками ёмкостью 5л в количестве 30 штук. •Задачи, которые встали перед вами: •Как сообщить людям о своём бедственном положении? («Сотик» на этом острове не работает!) •Как и чем питаться? •Как устроить себе жильё (учесть климат)? •Как утеплиться? •У вас в этой игре «вычли» всё, кроме того, что на вас и у вас в карманах, компьютер тоже вычли. Зато добавили ресурсы необитаемого острова и дурацкий ящик с кастрюлями... •Желаю вам решить все задачи, выжить и спастись!
- *[USER]*: Хм...
- *[BOT]*: Извините, я вас не понял.
- *[USER]*: Что же мне делать?
- *[BOT]*: Извините, я вас не понял.
- *[USER]*: Дело - дрянь!
- *[BOT]*: Извините, я вас не понял.
- *[BOT]*: ПОДСКАЗКА: у вас урчит в животе.
- // *На 3 непонятных ответа появляется подсказка.*
- *[USER]*: Раз так, нужно найти еду.
- *[BOT]*: Правильно ли я понял, что вы хотите выполнить задание: обеспечение себя провиантом ?
- *[USER]*: Ага.
- *[BOT]*: И чем же вы планируете питаться?
- // *Здесь я подождал 5 минут, чтобы по таймауту предложили перезапуск сессии.*
- *[USER]*: А какие варианты?
- *[BOT]*: Прошло много времени с момента вашего последнего взаимодействия с ботом. Желаете ли вы начать новую сессию?
- *[USER]*: Да.
- *[BOT]*: Ваша сессия была перезапущена.
- *[USER]*: И что теперь?
- // *Это сообщение бот воспримет как "приветственное", как "/start".*
- *[BOT]*: •Представьте, что вы оказались на необитаемом острове. Прямо в таком виде, в каком читаете сейчас это задание! Только с теми вещами, которые есть на вас и у вас в карманах. •Место действия – средняя полоса. Время действия – сентябрь. Остров небольшой. Две берёзы, три сосны, кустарник, трава, есть ручей с пресной водой. Хищников нет. Есть мелкие зверушки, в море вокруг – рыба. С вами вместе на берег волны выбросили деревянный ящик с ... эмалированными кастрюлями с крышками ёмкостью 5л в количестве 30 штук. •Задачи, которые встали перед вами: •Как сообщить людям о своём бедственном положении? («Сотик» на этом острове не работает!) •Как и чем питаться? •Как устроить себе жильё (учесть климат)? •Как утеплиться? •У вас в этой игре «вычли» всё, кроме того, что на вас и у вас в карманах, компьютер тоже вычли. Зато добавили ресурсы необитаемого острова и дурацкий ящик с кастрюлями... •Желаю вам решить все задачи, выжить и спастись!
- *[USER]*: Теперь я знаю - нужно найти еду!
- *[BOT]*: Правильно ли я понял, что вы хотите выполнить задание: обеспечение себя провиантом ?
- *[USER]*: Ага.
- *[BOT]*: И чем же вы планируете питаться?
- // *Здесь я подождал 5 минут, чтобы по таймауту предложили перезапуск сессии.*
- *[USER]*: Рыбу поймаю!
- // *Я знаю, что сообщение "Рыбу поймаю!" будет перехвачено менеджером сессий и потом его придётся повторить.*
- *[BOT]*: Прошло много времени с момента вашего последнего взаимодействия с ботом. Желаете ли вы начать новую сессию?
- *[USER]*: Нет.
- *[BOT]*: И чем же вы планируете питаться?
- // *Если сессия должна продолжиться, то бот повторяет последнее "значащее" (технически, последнее сообщение от бота - "Прошло много времени с момента вашего последнего взаимодействия с ботом. Желаете ли вы начать новую сессию?", но оно считается техническим, а не имеющим отношение к логике робинзонады) сообщение.*
- *[USER]*: Рыбу выловлю.
- *[BOT]*: рыба
- *[BOT]*: Вы прошли всего бота, сессия автоматически перезапускается.