1
mstatus = True

for mem in members:
  memberreact = await mem.user.send("do you wish to approve  or decline?\nchoose ⬆️ to approve and ⬇️ to decline!!")

  await memberreact.add_reaction("⬆️")
  await memberreact.add_reaction("⬇️")

  def mcheck1(reaction, user):
    return user == mem.user and reaction.message.id == memberreact.id and str(reaction.emoji) == "⬆️"
  def mcheck2(reaction, user):
    return user == mem.user and reaction.message.id == memberreact.id and str(reaction.emoji) == "⬇️"

  async def mreact1(mstatus):
    #first logic
    if mstatus == True:
      reaction, user = await client.wait_for("reaction_add", check=mcheck1)
      await mem.user.send("you have approved!!")
      mstatus = False
      print(mstatus)
  async def mreact2(mstatus):
    #second logic
    if mstatus == True:
      reaction, user = await client.wait_for("reaction_add", check=mcheck2)
      await mem.user.send("you have decline!!")
      mstatus = False
      print(mstatus)
     
  await asyncio.gather(mreact1(mstatus), mreact2(mstatus))

このコードは、⬆️に反応するときに最初のロジックを提供し、同じメッセージで⬇️に反応するときに2番目のロジックを提供します..しかし、最初に⬆️に反応するとコードのmstatusがFalseになるため、意味がありません..このコードに問題はありますか?はいの場合は、お知らせください..

4

1 に答える 1