为了账号安全,请及时绑定邮箱和手机立即绑定

类型错误:** 之后的 format() 参数必须是映射,而不是附件

类型错误:** 之后的 format() 参数必须是映射,而不是附件

陪伴而非守候 2021-07-02 04:28:56
我正在尝试使用我的不和谐机器人解决日志模块的问题。我收到错误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)



查看完整回答
反对 回复 2021-07-06
  • 2 回答
  • 0 关注
  • 494 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号