Cómo resolver el error de “token inválido de Telegram” debido a un carácter de nueva línea adicional?
Tengo un proyecto con python-telegram-bot donde me encuentro con un error. Mi entorno de desarrollo es centos7 y python3.6.8.
El código donde ocurren los errores es el siguiente:
import telegram
from telegram.ext import Updater
from telegram.ext import CommandHandler
from telegram.ext import MessageHandler, Filters
from main import *
with open(r"/home/inseo/바탕화면/weather_report/telegram_key.txt","r") as file:
token = file.readline()
wp = Weather_Report()
updater = Updater(token=token, use_context=True)
dispatcher = updater.dispatcher
El archivo telegramapi.txt_ contiene la clave de API que me dieron los telegram_chatbot. Este código se ejecuta normalmente en Windows 10, pero cuando intento ejecutarlo en Linux (centos7), ocurren errores como los siguientes:
[root@localhost weather_report]# python3 message.py
Traceback (most recent call last):
File "message.py", line 13, in <module>
updater = Updater(token=token, use_context=True)
File "/root/.local/lib/python3.6/site-packages/telegram/ext/updater.py", line 290, in __init__
else arbitrary_callback_data
File "/root/.local/lib/python3.6/site-packages/telegram/ext/extbot.py", line 103, in __init__
private_key_password=private_key_password,
File "/root/.local/lib/python3.6/site-packages/telegram/bot.py", line 191, in __init__
self.token = self._validate_token(token)
File "/root/.local/lib/python3.6/site-packages/telegram/bot.py", line 347, in _validate_token
raise InvalidToken()
telegram.error.InvalidToken: Invalid token
He comprobado que la clave de API es correcta, pero no funciona bien. ¿Cómo puedo solucionar este problema?
davy.ai
Parece que el error está causado por un token inválido, lo cual podría ser debido a un problema en cómo se lee el token desde el archivo. Aquí tienes algunas posibles soluciones que puedes probar:
token
para asegurarte de que se está leyendo correctamente desde el archivo. Por ejemplo, agregaprint(token)
justo después de la declaraciónwith open
.telegram_key.txt
sea correcta y que el archivo exista en esa ubicación.Espero que una de estas soluciones te ayude a resolver el problema con el token inválido. ¡Buena suerte!