【发布时间】:2021-01-19 05:52:25
【问题描述】:
试图运行一个不和谐的机器人
这是代码
import discord
from discord.ext import commands
TOKEN: str = "Token"
client = commands.Bot(command_prefix = '.')
@client.event
async def on_ready():
print('Connected')
client.start(TOKEN)
我收到此错误:
C:\Users\josep\AppData\Local\Programs\Python\Python38\python.exe C:/Users/josep/Desktop/unsettler/unsettler.py C:/Users/josep/Desktop/unsettler/unsettler.py:12:RuntimeWarning:从未等待协程'Client.start' client.start(令牌) RuntimeWarning: 启用 tracemalloc 以获取对象分配回溯
我尝试使用 client.run 而不是 client.start,但它会触发更多错误。我该如何解决这个问题?
编辑:我从客户端运行得到的错误:
Traceback(最近一次调用最后一次): 文件“C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\http.py”,第 291 行,在 static_login 数据 = 等待 self.request(Route('GET', '/users/@me')) 文件“C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\http.py”,第 245 行,在请求中 引发 HTTPException(r, 数据) discord.errors.HTTPException: 401 Unauthorized (error code: 0): 401: Unauthorized
上述异常是以下异常的直接原因:
Traceback(最近一次调用最后一次):
文件“C:/Users/josep/Desktop/unsettler/unsettler.py”,第 12 行,在
客户端运行(令牌)
运行中的文件“C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py”,第 708 行
返回future.result()
运行程序中的文件“C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py”,第 687 行
等待 self.start(*args, **kwargs)
文件“C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py”,第 650 行,开始
等待 self.login(*args, bot=bot)
文件“C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py”,第 499 行,登录
等待 self.http.static_login(token.strip(), bot=bot)
文件“C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\http.py”,第 295 行,在 static_login
raise LoginFailure('Improper token has been pass.') from exc
discord.errors.LoginFailure:传递了不正确的令牌。
异常被忽略:
【问题讨论】:
-
您能说明您从
client.run收到的错误消息吗?client.run和client.start不是等效函数,因为client.start需要手动初始化到事件循环中,而client.run抽象了该过程并使其更易于使用。
标签: python discord discord.py