尝试使用Discord.py从MySQL读取时,'NoneType'对象没有属性'mention'

时间:2018-09-03 17:32:12

标签: python mysql discord.py

我试图读取存储在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'对象没有属性   “提及”

1 个答案:

答案 0 :(得分:0)

要使其变得更简单,可以使用以下方法:

user = discord.utils.get(ctx.guild.roles, id=result["userif"])

希望这会有所帮助! :D