Просмотров: 30627
Дата последнего изменения: 12.07.2023
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Основное, что нам надо понимать про чат-боты – это то, что их логика обычно строится на реагировании на некие действия пользователя и системы.
И у нас есть 6 событий, которые полностью покрывают необходимый спектр реакций:
- ONAPPINSTALL – событие на установку приложения с чат-ботом.
- ONAPPUPDATE – событие на обновление приложения.
- ONIMJOINCHAT – событие после приглашения чат-бота «к разговору», т.е. либо при вызове его пользователем в индивидуальном чате, либо при подключении его к групповому чату.
- ONIMBOTMESSAGEADD – событие после отправки сообщения от пользователя к чат-боту (в групповом чате, при явном упоминании бота).
- ONIMCOMMANDADD – событие после отправки команды от пользователя к чат-боту (в персональной переписке с ним, или в групповом чате (если команда глобальная, то он может не участвовать в чате)).
- ONIMBOTDELETE – событие после удаления приложения. Событие вызывается параллельно с OnAppUninstall.
Иными словами, мы должны написать обработчики указанных событий, чтобы реализовать простую логику:
- Зарегистрировать чат-бота на портале пользователя при установке.
- Вывести приветствие-справку от имени чат-бота в момент приглашения его в чат.
- Научиться анализировать текст сообщения от пользователя и что-то отправлять в ответ, причем под анализом подразумевается простой «разбор командной строки», а не лексический разбор естественного языка.
И для этого у нас есть набор простых методов, добавленных в REST API. Нам для старта потребуются только два:
Очевидно, что в обработчике события ONAPPINSTALL мы вызовем метод imbot.register для того, чтобы добавить чат-бота на текущий портал, а затем в событии ONIMJOINCHAT воспользуемся методом imbot.message.add для вывода справки о функционале чат-бота, и в обработчике ONIMBOTMESSAGEADD будем отвечать пользователю при помощи того же imbot.message.add. Ничего сложного, согласитесь?
А также вам не придется реализовывать в приложении полноценный OAuth 2.0, поскольку параметры, необходимые для авторизации, приходят в обработчики в массиве $_REQUEST.
Примечание: Полный список методов и событий
Bot API можно посмотреть
здесь.