← На главную

Боты в ShuzaGram — гайд для чайников

Боты здесь работают почти так же, как в Telegram: создаёшь через @BotFather, получаешь токен, шлёшь HTTP-запросы на свой сервер — только адрес другой. Ниже — всё, что нужно, чтобы завести бота и понять, что он умеет.

1Создай бота через @BotFather

Открой чат с @BotFather в приложении ShuzaGram и напиши ему эти команды по очереди:

Потерял токен или подозреваешь, что он утёк? Напиши BotFather /revoke — старый токен умрёт, выдастся новый.

Что ещё умеет BotFather

/mybots — список твоих ботов

/setname, /setdescription, /setabouttext — имя, описание, информация о боте

/setcommands — список команд (то самое меню «/» в чате с ботом)

/setinline, /setinlinegeo, /setinlinefeedback — инлайн-режим (когда бота зовут прямо в поле ввода: @mybot запрос)

/setjoingroups — разрешить/запретить добавлять бота в группы

/setprivacy — видит ли бот в группе все сообщения или только адресованные ему

/setlogin, /logininfo, /resetloginsecret — настройка «Войти через ShuzaGram» (Telegram Login) для твоего сайта

2Адрес API

В настоящем Telegram запросы шлют на api.telegram.org. Здесь — на свой, ShuzaGram-овский адрес:

https://api.shuzagram.com/bot<ТВОЙ_ТОКЕН>/<МЕТОД>

Пример — узнать информацию о своём боте (getMe):

curl https://api.shuzagram.com/bot123456789:AAExampleToken/getMe

Пример — отправить сообщение пользователю (нужен его числовой chat_id):

curl -X POST https://api.shuzagram.com/bot123456789:AAExampleToken/sendMessage \
  -H "Content-Type: application/json" \
  -d '{"chat_id": 123456789, "text": "Привет из бота!"}'

Формат запросов и ответов — такой же, как в официальной Telegram Bot API: JSON, те же названия полей. Если уже писал ботов для Telegram — библиотеки (aiogram, python-telegram-bot, node-telegram-bot-api и т.п.) заработают и тут, просто укажи им этот base URL вместо стандартного.

3Как получать сообщения

Два способа, выбери один:

Long polling — проще, для старта

Бот сам раз в несколько секунд спрашивает сервер «есть что новое?» через getUpdates. Не нужен открытый порт и домен. Так работает большинство готовых библиотек «из коробки».

Webhook — для продакшена

Сервер сам стучится к тебе, когда приходит сообщение. Настраивается через setWebhook (твой HTTPS-адрес), проверить текущие настройки — getWebhookInfo, отключить — deleteWebhook.

4Что доступно — методы API

Полный список того, что сейчас умеет бэкенд. Названия и параметры совпадают с официальной Bot API.

Информация о боте и командах
getMe setMyCommands getMyCommands deleteMyCommands setChatMenuButton getChatMenuButton
Получение сообщений
getUpdates setWebhook deleteWebhook getWebhookInfo
Отправка сообщений и медиа
sendMessage sendRichMessage sendPhoto sendAnimation sendAudio sendDocument sendLivePhoto sendSticker sendVideo sendVideoNote sendVoice sendContact sendLocation sendVenue
Редактирование и удаление
editMessageText deleteMessage editEphemeralMessageText editEphemeralMessageMedia editEphemeralMessageCaption editEphemeralMessageReplyMarkup deleteEphemeralMessage
Кнопки, инлайн, файлы
answerCallbackQuery answerWebAppQuery savePreparedInlineMessage getFile
Разное
setUserEmojiStatus giftPremiumSubscription answerShippingQuery answerPreCheckoutQuery

Для текста поддерживается разметка HTML, Markdown и MarkdownV2 — ровно как в оригинале (parse_mode в параметрах запроса).

5Важно знать

👤 Бот не может первым написать пользователю, который не нажал /start и не открывал с ним веб-приложение — как и в настоящем Telegram.

🚫 Если пользователь заблокировал бота, отправка сообщений ему будет отклонена.

🔑 Токен — это полный доступ к боту. Если он попал не туда, сразу /revoke у BotFather.

ShuzaGram — независимый проект, не связанный с Telegram. API совместим по формату запросов, но это отдельный сервер со своими данными.