【问题标题】:discord.py not able to delete author messagesdiscord.py 无法删除作者信息
【发布时间】:2018-10-10 23:48:35
【问题描述】:

我正在使用 Discord.py 版本 1.0.0。我正在尝试编写一个回显命令,当给出一条消息时,它将回显该消息并从聊天中删除该命令。这是我的代码示例。

client = Bot(description="Test bot", command_prefix="&", pm_help = False)

@bot.command(pass_context=True)
async def echo(ctx):
  await client.send(ctx.message)
  await client.delete_message(ctx.message)

我收到的错误告诉我 ctx 没有名为“delete_message”的属性。我试过只删除()。我看过其他有类似问题的人,但是解决方案对我没有帮助。 任何建议将不胜感激。

【问题讨论】:

    标签: python-3.x discord discord.py discord.py-rewrite


    【解决方案1】:

    如果您使用的是 1.0,则可能会丢失 pass_context 并且 client.send 应该是 ctx.send。你也可以写命令的函数签名,使用Keyword-Only Arguments,这样你就只回显消息,忽略&echo

    from discord.ext.commands import Bot
    
    client = Bot(description="Test bot", command_prefix="&", pm_help = False)
    
    @client.command()
    async def echo(ctx, *, msg):
      await ctx.send(msg)
      await ctx.message.delete()
    
    client.run('token')
    

    【讨论】:

      【解决方案2】:

      在 discord.py/rewrite (1.0.0),Delete is a method on the message,不在客户端。这对于影响消息/频道/公会等的每个功能都是相同的。

      而不是做

      await client.delete_message(ctx.message)
      

      尝试做

      await ctx.message.delete()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-27
        • 2021-01-21
        • 2022-12-15
        • 2019-09-21
        • 2021-09-08
        • 2018-06-29
        • 2022-01-24
        • 1970-01-01
        相关资源
        最近更新 更多