Скиллы Средний Коммуникация и социальные сети

telegram-bot

Скачать ZIP
18
Предупреждение о рисках!

Установка скиллов и плагинов 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

Файл из источника

11815_telegram-bot-1.0.0.zip