我试图读取存储在mySQL数据库中的日志,每当我使用此代码时,它总是吐出最低位。有谁知道为什么会这样?
# ModLogs
@is_admin()
@client.command()
async def modlogs(self, ctx, logid):
"""
checks logs via id (temp)
"""
query = "SELECT * FROM server_logs WHERE logid = %s"
cursor.execute(query, (logid,))
result = cursor.fetchone()
if result is None:
await ctx.channel.send("Nothing Found")
else:
user = client.get_user(int(result["userid"]))
await ctx.channel.send(user.mention)
忽略命令modlogs中的异常:追溯(最新调用) 最后):文件“ C:\ Program Files (x86)\ Python37-32 \ lib \ site-packages \ discord \ ext \ commands \ core.py”, 第61行,缠绕 ret = await coro(* args,** kwargs)文件“ C:... \ discordbot python \ cogs \ mod.py”,第30行,在 修改日志 等待ctx.channel.send(user.mention)AttributeError:'NoneType'对象没有属性'mention'
上述异常是以下异常的直接原因:
回溯(最近一次通话最近):文件“ C:\ Program Files (x86)\ Python37-32 \ lib \ site-packages \ discord \ ext \ commands \ bot.py“,行 898,在调用中 等待ctx.command.invoke(ctx)文件“ C:\ Program Files(x86)\ Python37-32 \ lib \ site-packages \ discord \ ext \ commands \ core.py”, 调用中的第550行 等待注入(* ctx.args,** ctx.kwargs)文件“ C:\ Program Files(x86)\ Python37-32 \ lib \ site-packages \ discord \ ext \ commands \ core.py”, 第70行,包好 从discord.ext.commands.errors.CommandInvokeError引发CommandInvokeError(e):命令引发了 异常:AttributeError:'NoneType'对象没有属性 “提及”
答案 0 :(得分:0)
要使其变得更简单,可以使用以下方法:
user = discord.utils.get(ctx.guild.roles, id=result["userif"])
希望这会有所帮助! :D