我在删除discord bot的消息时遇到问题。下面是复制我遇到的问题的代码:
import discord
from tools.config import TOKEN
bot = discord.Bot()
@bot.event
async def on_ready():
print(f"{bot.user} is ready and online!")
@bot.slash_command(name="chat", description="Тут можно добавить описание")
async def chat(ctx, msg):
bot_msg = await ctx.respond(f'some message with tagging {ctx.author.mention}')
await bot_msg.delete(delay=5)
bot.run(TOKEN)
字符串
我得到了错误:
await bot_msg.delete(delay=5)
AttributeError: 'Interaction' object has no attribute 'delete'
型
我使用的是py-cord==2.4.1,但我相信它和discord.py是一样的。
1条答案
按热度按时间siv3szwd1#
Pycord
与discord.py
不相同。discord.py是一个面向Discord的现代化、易于使用、功能丰富且支持异步的API Package 器。
Pycord
是discord.py
的一个分支。discord.py上的斜杠命令
有两种方法可以完成此操作,一种是使用
discord
中的客户端,另一种是使用discord.ext.commands
中的Bot。不和谐。客户端方法:
字符串
同时,commands.Bot具有属性
tree
,这与app_commands.CommandTree基本相同。commands.Bot的主要优点是使用了cogs。下面是你如何初始化bot。
型
discord.py
在一年前停止了discord.py
的开发之后,现在又恢复了它的开发。在它宣布停止开发之后,像Pycord
这样的分叉就开始出现了。至于使用哪一个,这取决于你。但是我个人建议你坚持使用discord.py
的主库。有关
discord.py
中斜杠命令的更多信息,请参阅discord.Interaction,discord.InteractionResponse。删除bot的消息
在用discord.InteractionResponse(不返回消息对象)回复命令user之后,您可以使用
delete_after
属性删除它,也可以通过获取original_response对象然后删除它来删除。型
或
型