0

我希望我的机器人删除所有不以前缀开头的消息.。到目前为止,我在 discord.py 中编写了这段代码,但它一直在删除所有消息。

@Client.event
async def on_message(message):
    if message.author.has_role("Bot"):
        return
    elif message.content.startswith('.'):
        return
    else:
        await message.delete()

提前致谢

4

2 回答 2

1

尝试这样做:

@client.event
async def on_message(ctx):
    if ctx.content.startswith('.'):
        await client.process_commands(ctx)
        return

    for role in ctx.author.roles:
        if role.name == 'Bot':
            return
    
    await ctx.delete()
于 2020-12-30T14:24:55.233 回答
-2

我会这样做:

@Client.event
async def on_message(message):
    if message.content.startswith(".") == False:
       message.channel.purge(limit=1)
    else:
         pass
于 2020-12-30T13:05:27.263 回答