Telegram и Discord боты
Цели урока
После прохождения этого урока вы сможете:
- 1Настроить Telegram-бота для PicoClaw
- 2Подключить Discord-бота к PicoClaw gateway
- 3Понять архитектуру gateway и маршрутизацию сообщений
- 4Протестировать двусторонний обмен сообщениями
Chat Gateway: единый вход для мессенджеров
PicoClaw использует архитектуру gateway для подключения мессенджеров. Gateway — это HTTP-сервер, который принимает webhook-вызовы от мессенджеров, преобразует их в унифицированный формат и передаёт AI-агенту. Ответ агента отправляется обратно в мессенджер через API провайдера. Такая архитектура позволяет добавлять новые мессенджеры без изменения ядра агента.
Настройка Telegram-бота
Откройте Telegram и найдите @BotFather
Отправьте команду /newbot и следуйте инструкциям
Получите токен бота (формат: 123456:ABC-DEF)
Добавьте токен в config.json в секцию channels
Запустите picoclaw gateway
Настройте webhook: PicoClaw автоматически регистрирует его при старте
{
"channels": {
"telegram": {
"enabled": true,
"bot_token": "${TELEGRAM_BOT_TOKEN}",
"allowed_users": ["your_telegram_id"],
"webhook_path": "/webhook/telegram"
}
}
}Настройка Discord-бота
Перейдите на discord.com/developers/applications
Создайте новое приложение и бота
Скопируйте Bot Token из раздела Bot
Включите Message Content Intent в настройках бота
Добавьте токен в config.json
Пригласите бота на сервер через OAuth2 URL с правами на чтение и отправку сообщений
{
"channels": {
"discord": {
"enabled": true,
"bot_token": "${DISCORD_BOT_TOKEN}",
"allowed_guilds": ["your_server_id"],
"webhook_path": "/webhook/discord"
}
}
}Проверка работы
# Запустить gateway с включёнными каналами
picoclaw gateway
# В логах вы увидите:
# [gateway] Starting on :8080
# [telegram] Webhook registered: https://your-domain.com/webhook/telegram
# [discord] Bot connected as PicoClaw#1234
# Теперь отправьте сообщение боту в Telegram или Discord
# Бот ответит через AI-агентаТуннелирование для разработки
Для тестирования webhook на локальной машине нужен публичный URL. Используйте ngrok, Cloudflare Tunnel или аналогичный инструмент для проброса локального порта.
# Установить ngrok и пробросить порт gateway
ngrok http 8080
# Скопировать URL (например, https://abc123.ngrok.io)
# и указать его как base_url в конфигурации gatewayПараметр allowed_users (Telegram) и allowed_guilds (Discord) ограничивает доступ к боту. Без этих ограничений любой пользователь сможет общаться с вашим AI-агентом и расходовать ваш API-баланс. Всегда настраивайте whitelist пользователей.
На edge-устройствах без публичного IP рекомендуется использовать Cloudflare Tunnel — он бесплатен и работает стабильнее ngrok. Команда: cloudflared tunnel --url http://localhost:8080
Вопросы для размышления
- •Какой мессенджер вы подключили первым и почему?
- •Почему важно ограничивать доступ к боту через whitelist?
