首页 > 解决方案 > Discord.py selfbot:发送后如何删除消息?

问题描述

我怎样才能做到这一点,当它发送标记每个人的消息时,它会立即删除该消息?

这是代码:

import discord
from discord.ext import commands

class MentionBomb:
def __init__(self, bot):
    self.bot = bot

@commands.command(pass_context=True)
async def mbomb(self, ctx):
    await ctx.message.delete()

    messages = []
    msg = ""

    for member in ctx.message.channel.members:
        if len(msg) >= 1980:
            messages.append(msg)
            msg = ""

        msg += member.mention + "\n"

    if len(msg) >= 1:
        messages.append(msg)

    for message in messages:
        await ctx.send(message)

def setup(bot):
    bot.add_cog(MentionBomb(bot))

标签: pythondiscorddiscord.pydiscord.py-rewrite

解决方案


send返回一个表示它刚刚发送的消息的对象。该Message对象有一个delete协程。

for message in messages:
        sent = await ctx.send(message)
        await sent.delete()

推荐阅读