6  /  169

Создание своего приложения

Просмотров: 21911
Дата последнего изменения: 12.07.2023
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5

Основное, что нам надо понимать про чат-боты – это то, что их логика обычно строится на реагировании на некие действия пользователя и системы.

И у нас есть 6 событий, которые полностью покрывают необходимый спектр реакций:

  • ONAPPINSTALL – событие на установку приложения с чат-ботом.
  • ONAPPUPDATE – событие на обновление приложения.
  • ONIMJOINCHAT – событие после приглашения чат-бота «к разговору», т.е. либо при вызове его пользователем в индивидуальном чате, либо при подключении его к групповому чату.
  • ONIMBOTMESSAGEADD – событие после отправки сообщения от пользователя к чат-боту (в групповом чате, при явном упоминании бота).
  • ONIMCOMMANDADD – событие после отправки команды от пользователя к чат-боту (в персональной переписке с ним, или в групповом чате (если команда глобальная, то он может не участвовать в чате)).
  • ONIMBOTDELETE – событие после удаления приложения. Событие вызывается параллельно с OnAppUninstall.

Иными словами, мы должны написать обработчики указанных событий, чтобы реализовать простую логику:

  1. Зарегистрировать чат-бота на портале пользователя при установке.
  2. Вывести приветствие-справку от имени чат-бота в момент приглашения его в чат.
  3. Научиться анализировать текст сообщения от пользователя и что-то отправлять в ответ, причем под анализом подразумевается простой «разбор командной строки», а не лексический разбор естественного языка.

И для этого у нас есть набор простых методов, добавленных в REST API. Нам для старта потребуются только два:

Очевидно, что в обработчике события ONAPPINSTALL мы вызовем метод imbot.register для того, чтобы добавить чат-бота на текущий портал, а затем в событии ONIMJOINCHAT воспользуемся методом imbot.message.add для вывода справки о функционале чат-бота, и в обработчике ONIMBOTMESSAGEADD будем отвечать пользователю при помощи того же imbot.message.add. Ничего сложного, согласитесь?

А также вам не придется реализовывать в приложении полноценный OAuth 2.0, поскольку параметры, необходимые для авторизации, приходят в обработчики в массиве $_REQUEST.

Примечание: Полный список методов и событий Bot API можно посмотреть здесь.



8
Курсы разработаны в компании «1С-Битрикс»