discord.py 重启命令
discord.py restart the command
我正在制作一个不和谐的机器人,我试图制作一个状态命令,让我的机器人的状态开始改变,所以我认为它工作得很好,直到我意识到我需要它重新启动,但我不知道如何做到这一点,所以这是我没有重启部分的代码:
@client.command()
async def status(ctx):
await client.change_presence(activity=discord.Streaming(name='firststatus', url='https://www.twitch.tv/my-channel-name'))
await asyncio.sleep(5)
await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name='Secondstatus'))
所以我这样做了,但我不知道最后放什么所以它会重新启动我猜它会像 client.command.restart.
您可以使用简单的 while 循环或内置 discord.py 扩展 tasks
from discord.ext import tasks
@tasks.loop(seconds=5)
async def change_status():
await client.change_presence(activity=discord.Streaming(name='firststatus', url='https://www.twitch.tv/my-channel-name'))
await asyncio.sleep(5)
await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name='Secondstatus'))
@client.command()
async def status(ctx):
change_status.start()
change_status
函数会每5秒循环一次,改变存在。您可以使用 change_status.stop()
停止它
参考:
我正在制作一个不和谐的机器人,我试图制作一个状态命令,让我的机器人的状态开始改变,所以我认为它工作得很好,直到我意识到我需要它重新启动,但我不知道如何做到这一点,所以这是我没有重启部分的代码:
@client.command()
async def status(ctx):
await client.change_presence(activity=discord.Streaming(name='firststatus', url='https://www.twitch.tv/my-channel-name'))
await asyncio.sleep(5)
await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name='Secondstatus'))
所以我这样做了,但我不知道最后放什么所以它会重新启动我猜它会像 client.command.restart.
您可以使用简单的 while 循环或内置 discord.py 扩展 tasks
from discord.ext import tasks
@tasks.loop(seconds=5)
async def change_status():
await client.change_presence(activity=discord.Streaming(name='firststatus', url='https://www.twitch.tv/my-channel-name'))
await asyncio.sleep(5)
await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name='Secondstatus'))
@client.command()
async def status(ctx):
change_status.start()
change_status
函数会每5秒循环一次,改变存在。您可以使用 change_status.stop()