Что такое боты
Бот — это аккаунт Clouchat, которым управляет ваша программа. Пользователи пишут боту как человеку, а программа получает их сообщения через Bot API и отвечает.
Боты присылают уведомления, принимают заказы, отвечают на вопросы, модерируют группы, публикуют посты в каналы и открывают мини-приложения. Что ещё умеют боты — на странице Возможности ботов.
Как создать бота
Ботов создают у служебного бота @botcreator или в разделе «Мои боты» в настройках приложения. На один аккаунт — до 20 ботов.
- Откройте чат с @botcreator и отправьте
/newbot. - Введите имя бота и его адрес. Адрес должен оканчиваться на
bot, напримерshop_helper_bot. - Сохраните токен вида
123456789:AA…. Он показывается один раз.
Токен даёт полный доступ к боту. Не публикуйте его в коде и репозиториях. Если токен утёк, выпустите новый командой /token — старый сразу перестанет работать.
| Команда @botcreator | Что делает |
|---|---|
/newbot | создать бота |
/mybots | список ваших ботов |
/token | выпустить новый токен и отозвать старый |
/setname | сменить имя |
/setdescription | описание в пустом чате с ботом |
/setabouttext | короткий текст в профиле бота |
/setcommands | список команд для меню |
/setjoingroups | разрешить или запретить добавлять бота в группы |
/setprivacy | режим приватности в группах |
/setinline | включить inline-режим и подсказку в поле ввода |
/setinlinefeedback | получать выбранные inline-результаты |
/deletebot | удалить бота |
Домены мини-приложений и кнопка меню настраиваются в «Моих ботах» в приложении.
Подключение библиотек
Подходят библиотеки, написанные для Bot API Telegram: укажите в них адрес https://api.clouchat.org, остальной код не меняется.
aiogram 3
from aiogram import Bot, Dispatcher
from aiogram.client.session.aiohttp import AiohttpSession
from aiogram.client.telegram import TelegramAPIServer
session = AiohttpSession(api=TelegramAPIServer.from_base("https://api.clouchat.org"))
bot = Bot(token=TOKEN, session=session)
dp = Dispatcher()
python-telegram-bot
from telegram.ext import Application
app = (
Application.builder()
.token(TOKEN)
.base_url("https://api.clouchat.org/bot")
.base_file_url("https://api.clouchat.org/file/bot")
.build()
)
telegraf
import { Telegraf } from "telegraf";
const bot = new Telegraf(process.env.TOKEN, {
telegram: { apiRoot: "https://api.clouchat.org" },
});
Без библиотеки
curl https://api.clouchat.org/bot<токен>/getMe
Как бот получает сообщения
Есть два способа, одновременно работает только один:
- Длинный опрос —
getUpdatesсtimeoutдо 50 секунд. Подходит для разработки и небольших ботов, свой домен не нужен. - Вебхук —
setWebhookс адресом вашего HTTPS-сервера. Clouchat присылает апдейты POST-запросами по одному, по порядку.
Необработанные апдейты хранятся 24 часа. Подробности — в разделе Получение апдейтов.
Что дальше
- Возможности ботов — команды, кнопки, ссылки, группы и inline-режим.
- Справочник Bot API — все методы и лимиты.
- Мини-приложения — веб-интерфейс бота внутри чата.