如何解决由于添加换行符而导致的电报无效令牌



我有一个使用python telegram bot的项目,在那里我遇到了一些错误。我的开发环境是centos7和python3.6.8

以下内容是发生错误的代码:

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

文件telegram_api.txt包含telegram_chatbot给我的api密钥。这段代码在windows10中正常执行,但当我要在linux(centos7(中运行这段代码时,会出现如下错误:

[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

我检查了api密钥是否正确,但它不能很好地工作。如何解决这个问题?

我遇到了类似的问题,并通过在令牌字符串变量上使用.strip()来解决这个问题,以便在文件末尾去掉一个额外的换行符。

看看这是否能帮助你解决问题。

最新更新