Python Discord机器人删除用户消息

我正在用python3做一个discord机器人(discord.py 1.3.3,discord 1.0.1),我有一个删除用户消息的需求,但我不知道如何正确调用coroutine。

我看了 一些 其他 线程,并试图审查 文件 (以及 discord.py docs)但我一直没有弄明白。

下面是我测试的内容。

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

运行这个会返回带有ID号的控制台调试信息 但信息没有被删除。如果我在 await msg.delete 它不返回。所以这就告诉我,脚本挂在哪里了。话说回来,我还是没能搞清楚正确的命令应该是什么。

机器人服务器的权限包括 “管理消息”

解决方案:

为了删除一条消息,你必须使用 discord.Message 对象,例如,你会这样做。

await ctx.message.delete()

你会这样做: delete() 曲线图是一种 discord.Message

给TA打赏
共{{data.count}}人
人已打赏
未分类

使用线性核创建SVM模型时的问题

2022-10-15 10:49:36

未分类

Jquery Tagit只允许通过点击Tagit输入窗口下的可用标签来输入。

2022-10-15 10:49:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索