Как использовать команды разногласия с ботом и события? - PullRequest
0 голосов
/ 10 декабря 2018

Мне нужно сделать бота, который будет прослушивать сообщения, написанные на сервере, и в то же время принимать команды.

# Create the Discord client
client = discord.Client()
client = commands.Bot(command_prefix = '!')
client.remove_command('help')

@client.event
async def on_ready():
    print('ready')


@client.event                                               #ricerca messaggi 
async def on_message(message):
    # Ignore messages made by the bot
    if(message.author == client.user):
        return
    a = ''
    a += message.embeds[0]["description"]
    if a == 'abcdef':
        print(' aaaaa ')



@client.command()
async def hello():
    await client.say('hello')


client.run('token')

Как я могу заставить его работать?Я думаю, проблема в том, что бот продолжает ездить на велосипеде в первом случае ... Я читал о sub_process, но я не понимаю, как его использовать.

1 Ответ

0 голосов
/ 10 декабря 2018

Вам нужно будет добавить process_commands () в конце вашего сообщения on_message. Это потому, что переопределение по умолчанию on_message запрещает запуск команд .

@client.event                                               #ricerca messaggi 
async def on_message(message):
    # Ignore messages made by the bot
    if(message.author == client.user):
        return
    a = ''
    a += message.embeds[0]["description"]
    if a == 'abcdef':
        await message.channel.send(' aaaaa ')
    await client.process_commands(message)
...