【问题标题】:My discord.py bot with chat-filter event sends 2 or more messages instead of 1我的带有聊天过滤器事件的 discord.py 机器人发送 2 条或更多消息而不是 1 条
【发布时间】:2020-08-17 03:32:27
【问题描述】:

不久前添加到我的不和谐机器人聊天过滤器中,它删除了我不想看到的消息。但我对此有问题。在这个新事件之前,我的机器人发送命令 $hello 1 消息(你好,{me}),但使用此聊天过滤器,他会发送 2 个或更多问题(帖子数 = 被禁词数)。你能帮我解决这个问题吗?

@Bot.event
async def on_message( message ):
    filter = ['!leave', '!play','!skip']
    for word in filter:

        if word in message.content:
            print('%s bad word' % (message.author.id))
            await message.channel.purge(limit=1)
            await message.author.send('Просьба писать команды для бота в #music')
        await Bot.process_commands(message)

这是问题所在的聊天过滤器代码。 我认为由于这个过滤器,我所有的代码都编译了 3 次

【问题讨论】:

标签: python bots discord


【解决方案1】:

猜这是question的副本

由于您有 2 个on_message() 函数,因此只会处理第二个函数。你应该删除一个。

您出现多条消息是因为您在 for 循环中处理您的 await bot.process_commands(message) 命令。基于有 3 个坏词,你有 3 条消息。

尝试取消缩进您的 await bot.process_commands(message) 以与您的 for word in filter 保持一致。

【讨论】:

    猜你喜欢
    • 2020-08-16
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    相关资源
    最近更新 更多