Как установить - voron434/ptbot GitHub Wiki
Документация к ptbot
ptbot
— модуль для создания Telegram-ботов. Он умеет отправлять сообщения, редактировать ранее отправленные и реагировать на входящие сообщения от пользователя.
Как установить
1. Установите библиотеки
Вам понадобится библиотека python-telegram-bot
.
2. Скачайте файл
Скачайте файл ptbot.py и положите рядом со своей программой.
3. Отправьте первое сообщение
Пора проверить работу бота. Для этого понадобится немного кода и пара ключей доступа.
Прежде всего вам нужен API ключ. Его можно получить у Отца ботов при регистрации нового бота. Введите команду /newbot
в чате с ним и следуйте инструкциям.
Свяжитесь с ботом. Найдите его в Telegram и отправьте ему любое сообщение. Telegram требует, чтобы пользователь инициировал диалог с ботом и тем самым разрешил боту отправлять себе сообщения.
Узнайте id
своего пользователя в Telegram, его вам скажет Бот-справочник.
Когда соберете все ключи скопируйте к себе код, поменяйте значения TOKEN
и CHAT_ID
, запустите программу. Бот пришлёт вам сообщение в чат:
import ptbot
TOKEN = '958423683:AAEAtJ5Lde5YYfu8GldVhSGCAsxAYbzUIYg' # подставьте свой ключ API
CHAT_ID = '228593533' # подставьте свой ID
bot = ptbot.Bot(TOKEN)
bot.send_message(CHAT_ID, "Бот запущен")
От бота в Telegram придёт сообщение:
Бот запущен
Проблемы
При запуске кода вы можете столкнуться с проблемой NewConnectionError. Failed to establish a new connection
. В консоли она выглядит так:
WARNING:telegram.vendor.ptb_urllib3.urllib3.connectionpool:Retrying (Retry(total=2, connect=None,
read=None, redirect=None)) after connection broken by
'NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x7f04b2e55550>:
Failed to establish a new connection: [Errno 101] Network is unreachable')': /bot..../sendMessage
Такое случается если сервера Telegram заблокированы провайдером. Решается включением VPN. Браузерный VPN здесь не поможет, включите VPN сразу на всю операционную систему. Вот подборка из 10 лучших бесплатных VPN-сервисов.