discord.py:交替“播放”状态将不起作用,命令已禁用

时间:2019-04-07 03:33:35

标签: python discord.py

我试图让我的机器人在其“播放”部分中以机器人名称显示不同的消息。

我尝试使用while循环和时间在不同的消息之间进行睡眠。这行得通,但是当我尝试使用命令时,它没有注册,因为(我认为)它陷入了while循环中,无法开始查看命令消息。以下是我所拥有的:

@client.event
async def on_ready():
    print('------------------------------------------------')
    print('Logged in as:')
    print(client.user.name)
    print(client.user.id)
    print('------------------------------------------------')
    print("SubwayBot", version,"is connected and running!")
    print('------------------------------------------------')
    while True:
        await client.change_presence(game=discord.Game(name='with !sbcmds'))
        time.sleep(10)
        await.client.change_presence(game=discord.Game(name='with my sub'))
        time.sleep(10) #it would return here and start the while loop again
client.run(TOKEN)

我想做的是更改播放状态,以及要更改的命令。

感谢所有试图找到答案的人。

1 个答案:

答案 0 :(得分:2)

首先,您应该使用asyncio.sleep()而不是time.sleep(),因为time.sleep()可能会阻塞您的整个漫游器,并且除了“睡眠”之外什么也没有做。

您应该设置Background Task而不是在事件协程中使用while循环。希望有帮助。