我正在尝试使用我的不和谐机器人解决日志模块的问题。我收到错误TypeError: format() argument after ** must be a mapping, not Attachmentcogs\core.py", line 351, in on_message_delete delmessage.add_field(name='**Attachment**', value='[{filename}]({url})'.format(**attachment), inline=True)TypeError: format() argument after ** must be a mapping, not Attachment我不确定是什么原因造成的。这是我正在使用的内容:async def on_message_delete(self, message): guild = message.guild author = message.author bot_member = guild.me time = dt.datetime.utcnow() now = dt.datetime.utcnow() if author.bot: return if not guild: return cleanmsg = message.content for i in message.mentions: cleanmsg = cleanmsg.replace(i.mention, str(i)) name = author name = " ~ ".join((name.name, name.nick)) if name.nick else name.name changes = True if author.id != self.bot.user.id: infomessage = "A message by {} was deleted.".format(message.author.mention, message.channel.mention) delmessage = discord.Embed(description=infomessage, colour=discord.Color.purple(), timestamp=time) delmessage.add_field(name="Message:", value=cleanmsg) delmessage.set_footer(text="ID: {}".format(message.author.id)) delmessage.set_author(name=name + "'s message was deleted.", icon_url=message.author.avatar_url) if message.attachments: for attachment in message.attachments: delmessage.add_field(name='**Attachment**', value='[{filename}]({url})'.format(**attachment), inline=True) await self.bot.send_log_message(guild, embed=delmessage)
2 回答

交互式爱情
TA贡献1712条经验 获得超3个赞
您无法解包对象以获取其属性(除非该对象是专门为此设计的)。相反,您可以编写格式字符串以通过点表示法访问属性:
delmessage.add_field(name='**Attachment**', value='[{0.filename}]({0.url})'.format(attachment), inline=True)
添加回答
举报
0/150
提交
取消