不和.py(重写):在函数中处理“不正确的令牌”时出错

2024-09-25 00:35:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我觉得我错过了一个解决这个问题的简单方法,但是我似乎找不到一种方法来处理discord.errors.LoginFailure: Improper token has been passed.错误。我要做的是运行一个基本上运行一个bot的函数,如果它遇到任何错误(有try:except:),如果它捕捉到“不正确的令牌”错误,那么在我的代码中更改一个设置并重试。在

我相信发生的是try/except没有捕捉到错误,它会停止程序(打印整个过程中的错误)。我尝试过一些快速的解决方案,比如把函数变成while语句,直到它到达程序的末尾,它会不断地重复自己,但是如果没有捕捉到错误,我就无法继续任何代码。在

我的代码很混乱,需要处理前面在这个大python文件中定义的很多变量,所以我不展示我的整个函数。在

以下是简化版本:

def code(mainText):
    mainLines = mainText.split("\n")
    # Do some stuff editing mainText
    final = "\n".join(mainLines)
    try:
        exec(final, globals())
    except Exception as e:
        print(str(e))
        # edit 'final' a bit
        exec(final, globals())

完整的错误消息:

^{pr2}$

在写这篇文章的时候,我发现“从未检索到任务异常”,这是重要的还是通常的“不正确标记”错误?在

谢谢你,提前为我糟糕的编码实践和缺乏使用堆栈溢出的经验而道歉。在


Tags: 方法函数代码程序错误finalexectry
2条回答

你的令牌是字符串吗? 你是从discord developer门户网站得到的吗?i、 你确定这是对的吗?在

请确保BOT_TOKEN是字符串并且您的令牌有效

试试这个。我自己还没试过。我最能理解你的错误是什么:

#Put this at the bottom of your .py file
try:
    bot.run(BOT_TOKEN)
except discord.errors.LoginFailure as e:
    print("Login unsuccessful.")

相关问题 更多 >