6  /  46

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

Просмотров: 3238 (Статистика ведётся с 06.02.2017)

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

И у нас есть 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 можно посмотреть здесь.



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