当前位置: 首页 > 知识库问答 >
问题:

Python Discord bot删除用户消息

琴元凯
2023-03-14

我正在python3(discord.py 1.3.3,discord 1.0.1)中开发一个discord机器人,我需要删除一条用户消息,但我不知道如何正确调用协同程序。

我查看了一些其他线程,并尝试查看文档(以及discord.py文档),但我一直没有找到答案。

以下是我正在测试的内容:

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号的控制台调试消息,但不会删除该消息。如果我添加一个调试打印行后等待msg.delete它不会返回。所以这告诉我剧本挂在哪里。尽管如此,我还是没能弄清楚正确的命令应该是什么。

机器人服务器权限包括"管理消息"

共有1个答案

湛宜春
2023-03-14

要删除邮件,必须使用discord。Message对象,例如,您可以执行以下操作:

await ctx.message.delete()

delete()。消息

 类似资料:
  • 问题内容: 我正在使用JavaMail-1.5将Gmail帐户的IMAP消息附加到Yahoo帐户。我的要求是从邮件中删除用户标志,因为将邮件附加到其他文件夹时会产生错误。我要从消息中删除所有用户标志吗? 下面是获取标志的代码。 请建议如何从我的邮件中删除。 谢谢 问题答案: 我的问题已通过此代码解决- 此代码删除了导致无法将Gmail附加邮件添加到Yahoo的标志。

  • 是否有任何方法可以删除除bot本身之外的任何人发送的消息,文档似乎表明这是可能的 您自己的邮件可以删除没有任何适当的权限。然而,要删除其他人的邮件,您需要适当的权限才能这样做。 但是我找不到一种方法来定位消息,以便在on_message事件触发器中这样做,我是错过了什么还是不可能?

  • 在 MySQL 数据库中,可以使用 DROP USER 语句删除用户,也可以直接在 mysql.user 表中删除用户以及相关权限。 1. 使用 DROP USER 语句删除普通用户 使用 DROP USER 语句删除用户的语法格式如下: DROP USER <用户1> [ , <用户2> ]… 其中,用户用来指定需要删除的用户账号。 使用 DROP USER 语句应注意以下几点: DROP US

  • 主要内容:删除用户的步骤在本章中,我们将讨论如何从GitLab中的项目中删除用户。 删除用户的步骤 步骤(1): 登录到您的GitLab帐户并转到Projects部分下: 步骤(2): 现在,单击Settings 选项卡下的Members选项: 步骤(3): 您将看到“Existing members and groups”部分下的用户列表,并单击右侧的删除选项以从项目中删除用户: 步骤(4): 点击删除按钮后,会弹出一

  • 至此,用户列表页面完成了。符合 REST 架构的用户资源只剩下最后一个了——destroy 动作。本节,我们会先添加删除用户的链接(构思图如图 9.13 所示),然后再编写 destroy 动作,完成删除操作。不过,首先我们要先创建管理员级别的用户,并授权这些用户执行删除操作。 图 9.13:显示有删除链接的用户列表页面构思图 9.4.1 管理员 我们要通过用户模型中一个名为 admin 的属性来

  • 前面我们说了创建用户,修改用户,本节我们说下删除用户! 看你不爽,delete 掉你!就是这么任性! delete 删除用户 try { // 根据 user id 查询用户信息 $user = Sentry::findUserById(1); // 删除用户 $user->delete(); } catch (Cartalyst\Sentry\Users\Use