Бот — это специальный аккаунт, которым управляет программа через HTTP API. У бота есть имя, аватар, токен (как у Telegram ботов). Любой пользователь может добавить бота в свой чат и начать с ним взаимодействовать через команды.
Шаг 1. Создайте бота в интерфейсе
Откройте GoMsg под своим аккаунтом. Перейдите в Business → Bots. Нажмите + или «Create bot».
Заполните:
- Name — имя бота (например,
ReminderBot) - Description — что бот делает
- Avatar URL — аватар (опционально)
- Visibility —
public(все могут добавить) илиprivate(только вы)
После создания вы получите Bot Token — длинную строку вида
bot_a1b2c3d4e5f6.... Сохраните его в надёжном месте, он понадобится
для всех API-вызовов.
Шаг 2. Добавьте бота в чат
Чтобы бот мог отвечать пользователю — его нужно добавить в чат. Создайте новый чат или откройте существующий, нажмите «Add member» → выберите вашего бота.
Бот появится в списке участников с пометкой BOT.
Шаг 3. Проверьте подключение
Простой запрос, чтобы убедиться что токен работает:
curl https://your-server.com/api/bots/<TOKEN>/me
В ответ получите JSON с информацией о боте:
{
"id": "12345678-...",
"name": "ReminderBot",
"is_active": true,
"owner_id": "ваш-user-id"
}
Шаг 4. Отправьте первое сообщение
Используйте метод sendMessage:
curl -X POST https://your-server.com/api/bots/<TOKEN>/sendMessage \ -H "Content-Type: application/json" \ -d '{"chat_id": "ID-ЧАТА", "content": "Привет от бота!"}'
В чате появится сообщение от бота. Поздравляем — вы только что отправили первое сообщение через Bot API!
Шаг 5. Настройте webhook
Чтобы бот реагировал на сообщения пользователей — нужен webhook. Это URL на вашем сервере, на который GoMsg будет слать входящие сообщения.
В интерфейсе бота (Business → Bots → ваш бот) укажите Webhook URL:
https://your-bot-server.com/webhook
Каждое сообщение из чата будет прилетать туда POST-запросом:
{
"id": "msg-id",
"chat_id": "chat-id",
"sender_id": "user-id",
"sender_username": "иван",
"content": "/help",
"message_type": "text"
}
Шаг 6. Команды бота
Зарегистрируйте команды в интерфейсе бота. Например:
/help, /remind, /status. После этого
команды появятся в автодополнении при вводе.
На стороне webhook-сервера обрабатывайте команду:
if (message.content.startsWith("/help")) { sendMessage({ chat_id: message.chat_id, content: "Доступные команды:\n/help — помощь\n/remind — напоминание\n/status — статус" }); }
Пример бота на Node.js
Минимальный Express-сервер для эхо-бота:
const express = require("express"); const app = express(); app.use(express.json()); const TOKEN = "bot_a1b2c3..."; const SERVER = "https://your-gomsg-server.com"; app.post("/webhook", async (req, res) => { const msg = req.body; // Эхо: повторяем что написал пользователь await fetch(`${SERVER}/api/bots/${TOKEN}/sendMessage`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ chat_id: msg.chat_id, content: `Вы сказали: ${msg.content}` }) }); res.sendStatus(200); }); app.listen(3000, () => console.log("Bot listening on :3000"));
Что умеют боты GoMsg
- send_message — отправить текст, фото, голосовое
- edit_message — отредактировать сообщение
- delete_message — удалить
- append_message — добавить к сообщению (для streaming)
- reactions — ставить реакции
- commands — собственные slash-команды
- visibility — public или private
- permissions — гранулярные права (read, send, edit)
Идеи для ботов
- Напоминания. Пользователь пишет «напомни через час позвонить маме» — бот шлёт напоминание.
- Модерация. Удаляет спам и маты в групповом чате.
- Уведомления CI/CD. Bot шлёт в чат команды когда упал билд на GitLab.
- Поддержка. Авто-ответчик для live chat на сайте.
- Игры. Текстовые квесты, викторины, шахматы.
- Переводчик. Любое сообщение → перевод на другой язык.
Частые вопросы
Сколько ботов можно создать?
Без ограничений. Каждый бот — отдельная сущность со своим токеном и владельцем.
Чем это отличается от Telegram Bot API?
Концепция та же — token + webhook + команды. Но в GoMsg боты живут внутри чатов с обычными пользователями, без отдельного интерфейса ботов. Можно self-hosted, без лимитов на сообщения.
Нужен ли публичный IP для webhook?
Да, для webhook. Альтернатива — long polling (если реализован) или тестовый webhook прямо в GoMsg (в разделе Bots → Test webhook).
Как тестировать локально?
Используйте ngrok: ngrok http 3000 — получите публичный HTTPS URL. Укажите его как webhook URL в настройках бота.
Что дальше
Бот создан. Если хотите расширить функциональность — разверните свой сервер GoMsg для полного контроля, или подключите бота к виджету чата на сайте.