Можно отправить сообщение с помощью 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 и создать новый.