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

删除不一致的消息。不和谐机器人

程沛
2023-03-14

我使用Python3.6idle编写了一个bot,我想添加一个purge命令,但我不知道如何添加它。你们中的一些人能帮我举一些例子或建议吗?我会很高兴的,谢谢。

共有3个答案

高宏峻
2023-03-14

我自己创建了这个命令,并与您分享。

首先我要添加代码,然后解释。

@MyBot.command(pass_context=True)
@commands.has_permissions(administrator=True)
async def clear(ctx, limit):
    await ctx.message.delete()
    limit = int(limit)
    deleted = await ctx.channel.purge(limit=limit)
    cofirmdelete_embed = discord.Embed(title='Delete Successfull!', description=f'Deleted {len(deleted)} messages in #{ctx.channel}', color=0x4fff4d)
    await ctx.channel.send(embed=cofirmdelete_embed, delete_after=4.0)

>

async def clear(ctx,limit)中,limit是要删除的消息量。

ctx.message.delete()删除您输入的清除命令。也就是说,当你给bot命令:!清除它将首先删除该命令,然后执行后者。

deleted是用于获取已删除邮件数的变量。

等待ctx。频道清除(限制=限制)。这里,purge是不和谐中的一个协同程序。py库。它删除了具有用户添加的限制的邮件。

confirmdelete_embed中,我添加了一个描述,其中添加了len(删除)。这将计算已删除邮件的数量,然后将其添加到嵌入中。

我只能解释这些。如果有什么事情发生或者你有任何疑问,我仍然在这里。请随便问我。

微生俊名
2023-03-14
@client.command(pass_context = True, aliases=['Clear'])
async def clear(ctx, number):
    mgs = [] #Empty list to put all the messages in the log
    number = int(number) #Converting the amount of messages to delete to an 
    #integer(number)
    async for x in ctx.logs_from(ctx.message.channel, limit = number):
        mgs.append(x)
    await ctx.delete_messages(mgs)
冀越
2023-03-14
@bot.command(pass_context=True)
async def purge(ctx, amount):
    await bot.purge_from(ctx.message.channel, limit=amount)

很确定这会起作用。

 类似资料:
  • 我尝试了一个清除命令,它删除用户想要的不和谐频道中的消息量。然而,没有成功。 我希望机器人删除指定的消息量。然而,它没有回应。我已经使用了这种如果语句的方法来执行其他命令,比如检查你的ping,所以它很可能是删除消息的东西。

  • 请不要说“已经回答”,因为我尝试了一切,包括这里的所有相关帖子,显然,我正在阅读api文档。 完全错误为: 忽略on_ready Traceback(最近一次调用)中的异常:文件“/usr/local/lib/python3.8/dist packages/discord/client.py”,第312行,在on_ready wait channel中的事件wait coro(*args,**kw

  • 我正在尝试让我的JDA discord bot删除文本频道中的所有消息,目前我使用的代码效率极低,偶尔有效,有时无效。代码: 我知道一个事实,我正在调用函数,我知道一个事实,正在传递的文本通道是正确的。请帮我同样的忙。

  • 我有一些不和谐的问题。js删除函数。我使用这段代码在从频道中删除图像时从用户的余额中删除1点,这是第一次一切正常,但当我尝试删除我发送的另一个图像时,机器人将从我的余额中删除1点,而不是从我的余额中删除1点,因为从机器人启动开始,总共删除了多少图像。示例:我删除一个图像,机器人将从我的余额中删除1个点,然后如果我删除我上传的另一个图像,而不是删除1个点,它将从我的余额中删除2个点,因为它将计算删除

  • 我正在尝试制作一个Python Discord机器人,它首先可以删除通道中的消息。我希望它是以《终结者3》为主题的,这样它会由用户说天网开始,然后机器人要求激活Y或N?当用户输入Y时,它会删除频道中的所有消息,如果用户输入N,它会说审判日不可避免。任何帮助都将不胜感激。

  • 我正在尝试使用discord删除已创建的角色,该角色使用的是。js。 终端中的错误显示: DiscordAPIError:缺少权限 虽然我已经给了我的机器人所有权限。 代码: