【问题标题】:discord.py delete author message after executing commanddiscord.py 执行命令后删除作者信息
【发布时间】:2018-08-27 09:18:05
【问题描述】:

我需要机器人删除命令作者的消息,并留下机器人消息。任何帮助将不胜感激!谢谢。

我已经尝试在谷歌上寻找答案,但没有任何效果

【问题讨论】:

  • 您使用的是哪个版本的 discord.py?

标签: discord.py


【解决方案1】:

您可以通过使用pass_context 选项将上下文与命令一起传递来获取调用该命令的消息。你可以使用Client.delete_message协程来删除消息。

from discord.ext import commands

bot = commands.Bot(command_prefix='!')

@bot.command(pass_context=True)
async def deletethis(ctx):
    await bot.say('Command received')
    await bot.delete_message(ctx.message)
    await bot.say('Message deleted')

bot.run('token')

【讨论】:

  • 我遇到了一个错误。如果有帮助的话,这是我当前的代码:pastebin.com/5yvXwZQj 谢谢!
  • @lizziehopkins 上下文将作为命令的第一个参数传递。所以应该是async def kick(ctx, user: discord.Member):
  • @lizziehopkins 你需要将bot.delete_message 更改为client.delete_message
【解决方案2】:

我来晚了。我尝试使用新的 1.0 条款来实现这一点,但无法使其发挥作用。如果有人有更新版本,请告诉

编辑:我发现最好的新方法是在函数末尾添加:

await ctx.message.delete()

不再需要单独的删除功能。

【讨论】:

    猜你喜欢
    • 2019-09-21
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 2021-02-08
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多