【发布时间】:2021-04-19 09:57:31
【问题描述】:
我正在尝试在编辑嵌入的函数中运行计时器函数,同时保持初始函数运行,但我找不到如何做到这一点...这是我的代码:
@bot.command(aliases = ['pc'])
async def pour_combien(ctx, lim, reverse, *gage):
async def timer(time, msg_to_edit):
while time >= 0:
await asyncio.sleep(1)
embed.set_footer(text=f"• {time} secondes restantes...\n\n\u270B Pour accepter \u274c Pour annuler (seulement pour le créateur)")
time -= 1
await msg_to_edit.edit(embed=embed)
time = 30.0
embed = discord.Embed([.......])
embed.set_footer(text=f"• {time} secondes restantes...\n\n\u270B Pour accepter \u274c Pour annuler (seulement pour le créateur)")
demande = await ctx.send(embed= embed)
await demande.add_reaction("\u270B")
await demande.add_reaction("\u274c")
await timer(time, demande)
while True:
try:
reaction, user = await bot.wait_for('reaction_add', timeout=time, check=lambda reaction, user: reaction.emoji in [u'\u270B',u'\u274c'])
except asyncio.TimeoutError:
return
else:
if reaction.emoji == u'\u270B':
if user != ctx.author:
player2 = user
break
else:
if user == ctx.author:
return
所以我想同时运行await timer(time, demande)和While True: [...],不知道是否可以。
【问题讨论】:
-
您正在寻找多线程,或
threads。这与 discord.py 无关。只需谷歌搜索线程示例,您应该就能弄清楚
标签: discord.py