Можно отправить сообщение с помощью Telegram API через. браузер, но не скрипт python

Я могу отправить сообщение на канал телеграммы, который включает моего собственного бота, используя следующий URL-адрес в браузере:

      https://api.telegram.org/bot*****/sendMessage?chat_id=-********&text=Hello%20World! #there's a - before the chat id value

Однако следующий код Python:

      import telebot

API_TOKEN = '*********'
bot = telebot.TeleBot(API_TOKEN)
chat_id='-*******'

try:
    text_telegram='testing'
    print('line1')  
    print(bot.send_message(chat_id, text_telegram))
    print('line2')  
except Exception as e:
    print(e)

Возвращает:

      {'ok': False, 'error': 'Got unexpected response. (404) - {"ok":false,"error_code":404,"description":"Not Found"}'}

ОБНОВИТЬ:

Итак, выполнение следующих команд решило мою проблему. Может кто-нибудь объяснить, почему мне пришлось запустить это и в чем причина последней строки? Наверняка третья строка устанавливает последнюю версию?

      pip3 uninstall telebot
pip3 uninstall PyTelegramBotAPI
pip3 install pyTelegramBotAPI
pip3 install --upgrade pyTelegramBotAPI

1 ответ

Я предполагаю, что вы использовали пакет tele_bot, который не является официальным, поэтому, вероятно, содержит ошибки и не работает. Таким образом, ваше исправление удалило плохой пакет ( ), а следующие строки устанавливают соответствующий (официальный) пакет.

Предполагая, что вы удалили PyTelegramBotAPI, переустановки должно быть достаточно. Если вы не удалили его, обновление (строка 4) — хорошая идея.

Примечание: вы предоставили пакету tele_bot свои закрытые ключи API, я не проверял этот пакет, но он может быть вредоносным и украсть ваш токен API. Поэтому я бы рекомендовал аннулировать старый токен API и создать новый.

Другие вопросы по тегам