Мне кажется, что мне не хватает простого способа решения этой проблемы, но я не могу найти способ справиться с ошибкой discord.errors.LoginFailure: Improper token has been passed.
.То, что я пытаюсь сделать, это запустить функцию, которая по сути запускает бота и повторяется, если он сталкивается с какими-либо ошибками (с try:
и except:
) и если он ловит ошибку «неправильный токен», то измените настройку вмой код и повторите его.
Я считаю, что происходит то, что попытка / исключение не перехватывает ошибку и останавливает программу (печатая всю ошибку в процессе).Я попробовал несколько быстрых решений, таких как превращение функции в оператор while, и пока она не достигнет конца программы, она будет повторяться, однако, не уловив ошибки, я не смогу продолжить любой код.
Myкод запутан и связан с большим количеством переменных, которые были определены ранее в этом большом файле 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())
Полное сообщение об ошибке:
Task exception was never retrieved
future: <Task finished coro=<Client.start() done, defined at E:\DiscordBot\lib\site-packages\discord\client.py:526> exception=LoginFailure('Improper token has been passed.')>
Traceback (most recent call last):
File "E:\DiscordBot\lib\site-packages\discord\http.py", line 258, in static_login
data = await self.request(Route('GET', '/users/@me'))
File "E:\DiscordBot\lib\site-packages\discord\http.py", line 222, in request
raise HTTPException(r, data)
discord.errors.HTTPException: 401 UNAUTHORIZED (error code: 0): 401: Unauthorized
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "E:\DiscordBot\lib\site-packages\discord\client.py", line 542, in start
await self.login(*args, bot=bot)
File "E:\DiscordBot\lib\site-packages\discord\client.py", line 400, in login
await self.http.static_login(token, bot=bot)
File "E:\DiscordBot\lib\site-packages\discord\http.py", line 262, in static_login
raise LoginFailure('Improper token has been passed.') from exc
discord.errors.LoginFailure: Improper token has been passed.
На момент написания этой статьи я обнаружил, что «Исключение задачи никогда не получено», это что-то важное или это обычная ошибка «неправильного токена»?
Спасибо, заранее извините за мои плохие методы кодирования и отсутствие опыта использования переполнения стека.