为啥这个 Embed.set_footer 调用在我的 Discord 机器人中失败?

Posted

技术标签:

【中文标题】为啥这个 Embed.set_footer 调用在我的 Discord 机器人中失败?【英文标题】:Why does this Embed.set_footer call fail in my Discord bot?为什么这个 Embed.set_footer 调用在我的 Discord 机器人中失败? 【发布时间】:2020-12-31 15:09:47 【问题描述】:

我使用以下方法通过嵌入发送几乎所有机器人输出:

async def show_message_embed(self, ctx: commands.Context, message, title=None):
    if title is None:
        title = f"Command Output"
    em = discord.Embed(title=title, description="```\n" + message + "\n```", colour=0xBD362F)
    #em.set_footer("ChatNote (c) 2020 Erisia")
    em.timestamp = datetime.utcnow()
    await ctx.send(embed=em)

#em.set_footer 行已被注释掉,因为如果我取消注释,我会收到以下错误消息:

TypeError: set_footer() takes 1 positional argument but 2 were given

对我来说,很明显,我只传递了 1 个位置参数——唯一的参数,那么这里有什么问题?

【问题讨论】:

【参考方案1】:

set_footertext 作为参数和可选的icon_url

em.set_footer(text="ChatNote (c) 2020 Erisia")

【讨论】:

以上是关于为啥这个 Embed.set_footer 调用在我的 Discord 机器人中失败?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在这个单元测试中没有调用 finalize 函数?

为啥这个python表达式参数在调用时没有展开?

Java:为啥我不能在 main 之外调用这个方法? [关闭]

为啥这个 constexpr 静态成员函数在调用时不被视为 constexpr?

为啥这个函数调用的执行时间会发生变化?

为啥这个程序在调用函数时会出现分段错误?