【发布时间】:2019-01-05 09:26:17
【问题描述】:
我正在尝试为我的不和谐机器人创建一个随机任务循环。我已经可以通过有序的结果列表更改状态,但我试图让它显示具有适当存在(观看、播放等)的随机结果。目前任务确实发生了变化,但是它在测试时未能显示(或做出)随机选择,使两个结果之一为空白(即没有涉及存在和'foo','bar','的结果spam', 'eggs', 只有一个空白行会更改我手动设置的结果)。此代码是用 Python 3.6.X 编写的,任何帮助或指导将不胜感激!
def rand_task():
'''random condition picker'''
tasks = [
'playing', 'streaming', 'listening', 'watching'
]
return choice(tasks)
async def status_task():
'''random task looper'''
while True:
_play = ['foo'
]
_stream = ['bar'
]
_watch = ['spam'
]
_listen = ['eggs'
]
status = rand_task()
if status == 'playing':
_name = choice(_play)
_type = '0'
_url = None
elif status == 'streaming':
_name = choice(_stream)
_type = '1'
_url = None
elif status == 'listening':
_name = choice(_watch)
_type = '2'
_url = None
elif status == 'watching':
_name = choice(_listen)
_type = '3'
_url = None
await bot.change_presence(game=d.Game(name='for -help', type=3))
await sleep(2)
await bot.change_presence(game=d.Game(name=_name, url=_url, type=_type))
await sleep(1)
@bot.event
async def on_ready():
await bot.loop.create_task(status_task())
【问题讨论】:
-
您使用的是哪个版本的
discord.py库?如果您还没有,您可能需要考虑切换到 rewrite 分支,那里的存在 API 更成熟:discordpy.readthedocs.io/en/rewrite/… -
我最近一直在考虑切换到rewrite分支,可能会在不久的将来这样做,谢谢你的建议!
标签: python python-3.x discord.py