Бот — це спеціальний акаунт, яким керує програма через 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. Бот пише до чату команди, коли впав білд на 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 для повного контролю, або підключіть бота до віджету чату на сайті.