我正在尝试编写一个函数,该函数使用用户发送的命令删除消息。
例如:
到目前为止,我能找到的所有东西(对我有帮助)是这个堆栈溢出线程:discord.py delete author message after executing command
但是,当我使用代码时,如解决方案中所述,我只收到 AttributeError:'Bot'对象没有属性'delete_message'。
discord.py API参考(https://discordpy.readthedocs.io/en/latest/migrating.html#models-are-stateful / https://discordpy.readthedocs.io/en/latest/api.html?highlight=delete%20message#message)仅显示某些代码已随较新版本更改。 如果我正确解释的话,可以说 client.delete_message 将更改为 Message.delete()!
将代码更改为我认为必须的代码后,我收到了: NameError:未定义名称“消息”
这是我最后的代码。 (我对discord.py相对较新,只在学校使用过Python)
import discord
from discord.ext import commands
import random
import json
client = commands.Bot(command_prefix = '/', case_insensitive=True)
@client.command(pass_context=True)
async def delcommes(ctx):
await ctx.send("This is the response to the users command!")
await Message.delete(ctx.message, delay=3)
答案 0 :(得分:0)
我无法很好地理解您的问题,但据我所知,执行命令后,在bot发送消息后,您想要删除命令消息,在这种情况下,该消息为/delmes
。您可以使用await ctx.message.delete()
。
@client.command(pass_context=True)
async def delcommes(ctx):
await ctx.send("This is the response to the users command!")
await ctx.message.delete()