我正在使用python3(discord.py 1.3.3,discord 1.0.1)中的discord bot进行操作,我需要删除用户消息,但无法弄清楚如何正确调用协程。
我看过some other threads,并尝试查看documentation(和discord.py docs),但我无法弄清楚出来。
这是我正在测试的内容:
artifact ID
运行此命令将返回带有ID号的控制台调试消息,但不会删除该消息。如果我在import discord
from discord.ext import commands
TOKEN = os.getenv('DISCORD_TOKEN')
bot = commands.Bot(command_prefix='!')
@bot.command(name='deleteme', help='testing command for dev use')
async def deleteme(ctx):
msg = ctx.message.id
print(f'DEBUG: message id is {msg}')
await msg.delete
# await ctx.delete(msg, delay=None) #nope
# await ctx.delete_message(ctx.message) #nope
# await bot.delete_message(ctx.message) #nope
# await command.delete_message(ctx.message) #nope
# await discord.Client.delete_message(msg) #nope
之后添加调试打印行,则该行不会返回。所以这告诉我脚本挂在哪里。就是说,我仍然无法弄清楚应该使用什么正确的命令。
漫游器服务器权限包括“管理消息”
答案 0 :(得分:2)
例如,要删除一条消息,您必须使用discord.Message
对象:
await ctx.message.delete()
delete()
协程是discord.Message
的一种方法