【发布时间】:2021-08-17 12:30:48
【问题描述】:
我现在收到一个新错误。我现在编辑了 smth,我得到了这个错误。该怎么办。新代码如下
@commands.command()
async def warn(self, ctx, user:discord.Member, *, reason=None):
user_id = user.id
if collection.count_documents({"userid":user.id}) == 0:
collection.insert_one({"userid":user.id,"count":0})
if reason == None:
return await ctx.send("Please mention a reason!")
elif user == None:
return await ctx.send("Please mention a member!")
user = collection.find_one({"userid":user.id})
current_count = user["count"]
new_count = current_count + 1
collection.update_one({"userid":user.id}, {"$set": {"count": new_count}})
em = discord.Embed(title = "Member Warned!", description = f"Warned {user.mention} for **{reason}** | They now have {new_count} warnings!", timestamp = ctx.message.created_at, color = 0xFF0000)
em.set_footer(text=f'Warned By {ctx.author} | ID: {ctx.author.id}', icon_url = ctx.author.avatar_url)
await ctx.send(embed = em)``` This is the code
忽略命令警告中的异常: 回溯(最近一次通话最后): 文件“/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py”,第 85 行,已包装 ret = 等待 coro(*args, **kwargs) 文件“/home/runner/HorribleSentimentalParallelprocessing/cogs/warn.py”,第 30 行,在警告中 collection.update_one({"userid":user.id}, {"$set": {"count": new_count}}) AttributeError: 'dict' 对象没有属性 'id'
上述异常是以下异常的直接原因:
Traceback(最近一次调用最后一次): 文件“/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/bot.py”,第 939 行,在调用中 等待 ctx.command.invoke(ctx) 文件“/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py”,第 863 行,在调用中 等待注入(*ctx.args,**ctx.kwargs) 文件“/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py”,第 94 行,已包装 从 exc 引发 CommandInvokeError(exc) discord.ext.commands.errors.CommandInvokeError:命令引发异常:AttributeError:'dict'对象没有属性'id'```
【问题讨论】:
-
这个问题您已经问过两次了,请耐心等待,直到有人回答。
标签: python python-3.x mongodb discord discord.py