Clouchat для разработчиков Открыть веб-версию
Боты

Боты для Clouchat

Создайте бота у @botcreator, подключите библиотеку и получайте сообщения от пользователей Clouchat.

Что такое боты

Бот — это аккаунт Clouchat, которым управляет ваша программа. Пользователи пишут боту как человеку, а программа получает их сообщения через Bot API и отвечает.

Боты присылают уведомления, принимают заказы, отвечают на вопросы, модерируют группы, публикуют посты в каналы и открывают мини-приложения. Что ещё умеют боты — на странице Возможности ботов.

Как создать бота

Ботов создают у служебного бота @botcreator или в разделе «Мои боты» в настройках приложения. На один аккаунт — до 20 ботов.

  1. Откройте чат с @botcreator и отправьте /newbot.
  2. Введите имя бота и его адрес. Адрес должен оканчиваться на bot, например shop_helper_bot.
  3. Сохраните токен вида 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 часа. Подробности — в разделе Получение апдейтов.

Что дальше