Discord.py bot 多次发送消息

时间:2021-02-02 16:19:29

标签: python-3.x discord discord.py

我是 Python 编码的新手,但在使用此代码时遇到了问题。

@client.event
async def on_message(message):
    if message.author == client.user:
        return
    if 'choose my pick' in message.content:
        channel = message.channel
        await channel.send('Que role tu ta?')

    def check(m):
        return m.content == 'top' or 'jg' or 'mid' or 'adc' or 'sup' and m.channel == channel

    role = await client.wait_for('message', check=check)
    sentence_start = random.choice(inu_exp)
    iten = random.choice(itens)

    if 'top' in role.content:
        champion = random.choice(top_champs)
        await channel.send(f'{sentence_start} {champion} de {iten}')
    await client.process_commands(message)

它按我的意愿工作,当有人输入“选择我的选择”时,它会询问“Que role tu ta”,但它会询问很多次,并且还会多次发送答案 await channel.send(f'{sentence_start} {champion} de {iten}')。 这是输出:https://prnt.sc/y1cucv 我正在使用 python 3.8.6

1 个答案:

答案 0 :(得分:2)

我已经在另一个机器人上测试了你的代码,它只发送了一次消息!确保没有多个客户端同时运行!要确保的另一件事是您的互联网 ping,因为这可能会导致延迟并导致多条消息! (过去的经历)

此外,如果您仍然遇到问题,请发送整个代码(当然没有令牌),因为缺少许多变量,没有这些变量我什么也做不了。例如 inu_exp!