Примеры
В корне пакета @squadus/botsdk существует каталог examples — это проект с примерами использования методов из таблицы. С помощью приведенных примеров можно ознакомиться с использованием данного пакета на практике.
Для выполнения запуска примеров следует:
- Установить зависимости из папки examples с помощью команды:
cd examples && yarn
- Заполнить конфигурационный файл
./examples/.envв соответствии с описанием в таблице.
| Имя переменной | Описание | Примечание |
|---|---|---|
| ALLOWED_ATTACHMENT_ PATH | Путь к каталогу | Если значение каталога не менять, будет назначен каталог, в котором расположен бот |
| SERVER | Доменное имя сервера Squadus | - |
| TOKEN | Токен, созданный в соответствии с разделом Создание токена | - |
Пример заполненного файла конфигурации:
ALLOWED_ATTACHMENT_PATH="/example/example"
SERVER="https://im-squadus.example.net"
TOKEN="1IBMnCkcJnVZmYcCVqMOsdgA4YvxwxAssdJjklzFFr"
- Запустить пример с помощью команды:
yarn create-direct
- При успешном запуске будет выведено сообщение:
Direct dialog with ${partner_name} was created successfully
Внимание
При возникновении ошибок следует проверить параметры конфигурационного файла и имя учетной записи пользователя в диалоге.
Примеры для упрощения работы с @squadus/botsdk представлены в таблице.
| Файл с примером скрипта | Команда | Описание работы команды |
|---|---|---|
| connect.ts | yarn connect | Будет выполнена авторизация |
| getSettings.ts | yarn get-settings | Будут получены значения настроек с сервера для Accounts_AllowRealNameChange и Accounts_AddGuestsToChats |
| createDirectRoom.ts | yarn create-direct | С собеседником, указанным в файле .env (если такой пользователь существует), будет создан диалог. |
| sendMessage.ts | yarn send-message | С собеседником, указанным в файле .env (если такой пользователь существует), будет создан диалог. Затем ему будет отправлено сообщение с текстом «Hi» |
| sendAttachment.ts | yarn send-attachment | С собеседником, указанным в файле .env (если такой пользователь существует), будет создан диалог. Затем ему будет отправлено изображение example.png из проекта с сообщением «Image with logo». Если изображение будет заменено на файл с размером, превышающим допустимый, в консоли появится сообщение об ошибке: «File is too large». Также файл должен находиться по пути, который соответствует параметру allowedAttachmentsPath, указанному при создании squadusClient |
| addRemoveChannelUser.ts | yarn add-remove-channel-user | С собеседником, указанным в файле .env (если такой пользователь существует), будет создан диалог. Затем он будет удален из него |
| createPrivateChannel.ts | yarn create-channel:private | Будет создан приватный канал с именем PRIVATE_CHANNEL_NAME |
| createPrivateChannel.ts | yarn create-channel:public | Будет создан открытый канал с именем, указанным в константе PUBLIC_CHANNEL_NAME |
| changeUserRole.ts | yarn change-role | Будет создан открытый канал c пользователем. Затем пользователю будет назначена роль Модератор |
| editChannel.ts | yarn edit-channel | Будет создан канал, затем его имя будет изменено |
| subscribeMessages.ts | yarn subscribe-messages | Ботом будет выполнена подписка на все новые сообщения, а также отдельная подписка на новые личные сообщения от пользователя, имя которого указано в переменной окружения PARTNER_NAME. При получении ботом сообщения «Hi» от пользователя PARTNER_NAME, будет отправлен ответ «Hello». При получении ботом сообщения «Bye» из любого чата, будет отправлен ответ «Bye». Через 20 секунд произойдет отписка от сообщений «Hi», через 40 секунд произойдет отписка от сообщений «Bye» |
| subscribeReaction.ts | yarn subscribe-reaction | Ботом будет выполнена подписка на все новые сообщения. После получения ботом сообщения «start», бот отправит ответное сообщение, на реакции которого произойдет подписка ботом. Если поставить реакцию с эмодзи  на это сообщение любым пользователем, в тот же чат бот отправит сообщение, содержащее эмоджи , если будет реакция с , то сообщение с эмоджи . После отправки ботом сообщения на реакцию, бот отпишется от реакций на это сообщение |
| subscribeRoom.ts | yarn subscribe-room | Ботом будет выполнена подписка на события в личных сообщениях с пользователем, имя которого указано в переменной окружения PARTNER_NAME. Если пользователь PARTNER_NAME или сам бот начал или прекратил печатать сообщение в этом чате, в консоль будет выведено сообщение об этом |
| sendMessageToThread.ts | yarn send-message:thread | Будет отправлено сообщение, на основании идентификатора которого будет создана цепочка ответов |
| readThread.ts | yarn read-thread | Будет отправлено сообщение, на основании идентификатора которого будет создана цепочка ответов. Цепочка ответов будет отмечена как прочитанная пользователем, имя и токен которого указаны в переменных окружения PARTNER_NAME и PARTNER_TOKEN соответственно |