Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
telegram-bot — навык для создания и управления Telegram-ботами через Telegram Bot API. Позволяет создавать ботов, отправлять сообщения, работать с вебхуками, а также управлять группами и каналами.
Настройка
- Откройте Telegram и напишите боту @BotFather
- Отправьте команду
/newbotи следуйте инструкциям - Скопируйте токен бота (например:
123456789:ABCdef...) - Установите переменную окружения:
export TELEGRAM_BOT_TOKEN="your-bot-token"
Базовый URL API
Все запросы отправляются по адресу:
https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/METHOD_NAME
Использование
Информация о боте
Получить информацию о боте:
curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe" | jq
Получить список команд:
curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMyCommands" | jq
Установить команды:
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/setMyCommands" \
-H "Content-Type: application/json" \
-d '{
"commands": [
{"command": "start", "description": "Запустить бота"},
{"command": "help", "description": "Показать помощь"},
{"command": "settings", "description": "Настройки"}
]
}' | jq
Отправка сообщений
Текстовое сообщение:
curl -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "CHAT_ID",
"text": "Привет от Clawdbot!",
"parse_mode": "HTML"
}'
Сообщение с inline-кнопками:
"inline_keyboard": [
[{"text": "Опция 1", "callback_data": "opt1"}],
[{"text": "Перейти", "url": "https://example.com"}]
]
Отправка фото:
curl -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendPhoto" \
-F "chat_id=CHAT_ID" \
-F "photo=@/path/to/image.jpg"
Отправка документа:
curl -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendDocument" \
-F "chat_id=CHAT_ID" \
-F "document=@/path/to/file.pdf"
Получение обновлений
curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getUpdates"
Long polling:
curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getUpdates?timeout=30"
Вебхуки
Установить webhook:
curl -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/setWebhook" \
-d '{"url": "https://your-server.com/webhook"}'
Удалить webhook:
curl -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/deleteWebhook"
Управление чатами
Получить информацию о чате:
getChat?chat_id=CHAT_ID
Забанить пользователя:
banChatMember
Разбанить пользователя:
unbanChatMember
Управление сообщениями
- Редактирование сообщений
- Удаление сообщений
- Закрепление сообщений
- Пересылка сообщений
Callback-запросы
answerCallbackQuery
Примечания
- Chat ID может быть положительным (пользователь) или отрицательным (группа/канал)
- Поддерживаются форматы: HTML, Markdown
- Ограничения: ~30 сообщений/сек
- Бот не может написать первым — пользователь должен начать диалог
HTML-разметка
жирный
курсив
код
ссылка
Примеры
Простой echo-бот:
while true; do
UPDATES=$(curl ...)
# обработка сообщений
done
Получение chat_id:
curl getUpdates | jq '.result[-1].message.chat.id'
Отправка сообщения в канал:
"chat_id": "@your_channel_name"
Полезные ресурсы
- Документация Telegram Bot API
- Команды BotFather
- Changelog API
Файл из источника