Discord.py命令因on_消息事件而不起作用

2024-06-02 12:05:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码有问题。它不运行任何命令:(我知道问题出在on_message部分,但我不知道如何解决它

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='//')
bdl = open('*Filelocation*', 'r')
badwordslist = bdl.read().split()
bdl.close()
   
@bot.command()
async def hello(context):
    print('it works')
    context.send('Hello!')

@bot.event
async def on_connect():
    print('Connected.')
    
@bot.event
async def on_ready():
    print('READY.')
    
@bot.event
async def on_message(message):
    for badword in message.content.lower().split():
        if badword in badwordslist:
            await message.channel.send(f'Hey! {message.author.mention} ! Don\'t be rude!')
            print(f'{message.author} Said A Bad Word.')
            break
        else:
            return
    
bot.run("*Token*")

Tags: importeventmessageasyncondefbotcontext
1条回答
网友
1楼 · 发布于 2024-06-02 12:05:54

on_message事件阻止其他命令。如果要防止出现这种情况,应使用^{}处理命令

@bot.event
async def on_message(message):
    for badword in message.content.lower().split():
        if badword in badwordslist:
            await message.channel.send(f'Hey! {message.author.mention} ! Don\'t be rude!')
            print(f'{message.author} Said A Bad Word.')
            break
    await bot.process_commands(message)

相关问题 更多 >