【问题标题】:How to make discord.py bot send messages at random times如何让 discord.py 机器人随机发送消息
【发布时间】:2022-01-03 08:16:31
【问题描述】:

我正在尝试让我的不和谐机器人随机向频道发送消息,到目前为止,这是我的代码:

@client.event
async def on_message(message):

    if (random.randint(0,500) == 42) and (message.author != client.user):
        await message.channel.send("bruh")
    
    elif (random.randint(0,500) == 69) and (message.author != client.user):
        await message.channel.send("good plan")

    elif (random.randint(0,500) == 99) and (message.author != client.user):
        await message.channel.send("awwww hellll nahhhhhhh")

    elif (random.randint(0,500) == 76) and (message.author != client.user):
        await message.channel.send("I think we should see other people...")

    elif (random.randint(0,500) == 25) and (message.author != client.user):
        await message.channel.send("no.")
    
    elif (random.randint(0,500) == 56) and (message.author != client.user):
        await message.channel.send("bad idea")
    
    else:
        return

每次我使用这段代码运行机器人时,我的命令都不起作用。我该怎么办?

【问题讨论】:

    标签: python discord discord.py bots


    【解决方案1】:

    如果您有 on_message 事件,您必须在事件结束时添加 await client.process_commands(message) 像这样:

    @client.event
    async def on_message(message):
    
        if (random.randint(0,500) == 42) and (message.author != client.user):
            await message.channel.send("bruh")
        
        elif (random.randint(0,500) == 69) and (message.author != client.user):
            await message.channel.send("good plan")
    
        elif (random.randint(0,500) == 99) and (message.author != client.user):
            await message.channel.send("awwww hellll nahhhhhhh")
    
        elif (random.randint(0,500) == 76) and (message.author != client.user):
            await message.channel.send("I think we should see other people...")
    
        elif (random.randint(0,500) == 25) and (message.author != client.user):
            await message.channel.send("no.")
        
        elif (random.randint(0,500) == 56) and (message.author != client.user):
            await message.channel.send("bad idea")
        
        else:
            return
    
        await client.process_commands(message)
    

    或者你可以像这样使用 @client.listen() 装饰器:

    @client.listen()
    async def on_message(message):
    
        if (random.randint(0,500) == 42) and (message.author != client.user):
            await message.channel.send("bruh")
        
        elif (random.randint(0,500) == 69) and (message.author != client.user):
            await message.channel.send("good plan")
    
        elif (random.randint(0,500) == 99) and (message.author != client.user):
            await message.channel.send("awwww hellll nahhhhhhh")
    
        elif (random.randint(0,500) == 76) and (message.author != client.user):
            await message.channel.send("I think we should see other people...")
    
        elif (random.randint(0,500) == 25) and (message.author != client.user):
            await message.channel.send("no.")
        
        elif (random.randint(0,500) == 56) and (message.author != client.user):
            await message.channel.send("bad idea")
        
        else:
            return
    

    如果你使用 listen() 事件,你不必处理命令

    【讨论】:

      猜你喜欢
      • 2021-01-26
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2019-09-19
      • 2021-03-19
      • 2020-11-04
      • 2020-10-10
      • 2021-07-19
      相关资源
      最近更新 更多