试图让我的不和谐机器人在python中每5秒说一次相同的消息

时间:2020-01-07 21:31:39

标签: python discord discord.py

我正在为潮湿的默默做些“骇客”。我做了自己的机器人。我使用机器人的目标是使它每5秒一直说一次“ pls search”。最终,我将执行一个命令,说“请给100”以获取硬币。而不是出现在不和谐中,它出现在我的应用程序中。

@client.command()
async def go(ctx):
    def printit():
        threading.Timer(5.0, printit).start()
        await ctx.send("pls search")
    printit()  

2 个答案:

答案 0 :(得分:1)

你可以这样做:

import time    
@bot.command()
    async def start(ctx, number_of_times=5):
       for i in range(number_of_times):
           await ctx.send('pls search')
           time.sleep(5)
       # type in the user
       await ctx.send('pls give <user> 100')

答案 1 :(得分:0)

这将连续发送消息,但是您将受到速率的限制。通过在发送消息的事件循环中安排任务,然后将其取消,可以起作用。

import asyncio

@bot.command()
async def comm(ctx):
    async def f():
        while True:
            # await asyncio.sleep(.5)  # Control message speed
            await ctx.send('Test')
    await ctx.send("Start")
    task = asyncio.create_task(f())
    await asyncio.sleep(5)
    await ctx.send("End")
    task.cancel()