Skip to content

Первый бот за десять минут ​

Пройдём путь от нуля до сообщения, которое бот написал в комнату.

Понадобится:

  • аккаунт Emotify (не гостевой);
  • канал, где вы администратор — или знакомый администратор, готовый установить бота.

Шаг 1. Создайте приложение ​

Откройте портал → Настройки → Приложения → Новое приложение. Придумайте имя — его будут видеть участники канала рядом с сообщениями бота.

Ниже отмечается, что откроет ключ. Для этого руководства достаточно «Писать, править и удалять свои сообщения» — остальное можно снять и добавить позже, перевыпустив ключ. Чем меньше отмечено, тем меньше цена утечки: подробности — ключи и лимиты.

После создания появится ключ приложения:

emb_2878fed6c91a4b7e8f3d05a1…

Скопируйте его сразу и сохраните в надёжном месте.

Ключ показывается один раз

Повторно посмотреть его нельзя. Если потеряли — нажмите «Перевыпустить ключ», получите новый (старый перестанет работать).

Шаг 2. Скопируйте идентификатор приложения ​

В карточке приложения есть строка «Идентификатор» с кнопкой копирования:

16c6e6b1-2b8d-4665-ba47-3d197a4a6029

Это не секрет — по нему администратор канала находит ваше приложение, чтобы установить его.

Шаг 3. Установите бота на канал ​

Настройки канала → Доступ → Приложения → Добавить приложение.

  • Своё приложение выбирается из списка одним нажатием.
  • Чужое — вставьте его идентификатор в поле и нажмите «Найти».

Откроется карточка с перечнем того, что бот сможет делать на канале. Права, до которых ключ приложения не дотягивается, помечены там отдельно — так видно не только что разрешает роль, но и чем приложение действительно пользуется. Нажмите «Добавить на канал» — бот появится в списке участников с меткой «БОТ».

Шаг 4. Проверьте, что ключ работает ​

bash
curl https://emotify.ru/api/v1/me \
  -H "Authorization: Bot emb_ваш_ключ"

Ответ:

json
{
  "application": {
    "id": "16c6e6b1-2b8d-4665-ba47-3d197a4a6029",
    "name": "Мой первый бот",
    "owner": { "id": "…", "name": "Ваш ник" }
  },
  "bot": {
    "id": "a2d78dd9-b9e0-4636-aca6-d3185de686b8",
    "name": "Мой первый бот",
    "avatar": "default_avatar.jpg",
    "avatarVersion": 1
  },
  "channels": [
    {
      "id": "4facb875-a03f-406e-ad47-3d8515eb69de",
      "name": "Мой канал",
      "role": { "systemName": "CHANNEL_BOT", "name": "Бот" }
    }
  ]
}

Запомните channels[0].id — это идентификатор канала, он понадобится дальше.

Если пришёл 401 — проверьте ключ: он скопирован не полностью, отозван или приложение удалено.

Шаг 5. Узнайте идентификатор комнаты ​

Откройте нужную текстовую комнату в портале — идентификатор виден в адресной строке:

https://emotify.ru/app/channel/4facb875-…/room/a0d4cc29-04e9-4567-9a7a-4b2668d3af30
                                               └────────── это id комнаты ─────────┘

Шаг 6. Отправьте сообщение ​

bash
curl -X POST https://emotify.ru/api/v1/rooms/a0d4cc29-04e9-4567-9a7a-4b2668d3af30/messages \
  -H "Authorization: Bot emb_ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "channelId": "4facb875-a03f-406e-ad47-3d8515eb69de",
    "text": "Привет! Я бот."
  }'

То же самое на JavaScript:

js
const res = await fetch(
  'https://emotify.ru/api/v1/rooms/a0d4cc29-…/messages',
  {
    method: 'POST',
    headers: {
      Authorization: `Bot ${process.env.BOT_TOKEN}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      channelId: '4facb875-…',
      text: 'Привет! Я бот.'
    })
  }
)

console.log(res.status) // 201
console.log(await res.json()) // созданное сообщение

Готово: сообщение появилось в комнате, участники видят его сразу.

Что дальше ​

  • События — чтобы бот отвечал людям, а не только писал сам.
  • Команды — если бот реагирует на /что-то, объявите список: портал покажет его у поля ввода, и люди найдут бота сами. Не объявили — команды не существует ни для кого, кроме вас.
  • Эхо-бот целиком — готовая программа, которая повторяет за людьми.
  • Справочник маршрутов — всё, что бот умеет: история, реакции, участники, голос.

Документация внешнего API Emotify