我有一个机器人可以把你排到一个寻欢作乐的人那里。当队列数达到2时,它将重置为0。我有两个命令,一个用于第一个人,另一个用于第二个人记录他们的名字。但是,当我将其设置为2时,它将转到queue=0,并在queue=0时激发命令,使其激发两次。
我怎样才能解决这个问题?
import discord
import os
from discord.utils import get
from discord.ext import commands
@client.event
async def on_message(message): #Defines Message
#If You Queue, And Role Requirement to Do So
if message.content.startswith('-queue duos'):
global queue
if queue == 1:
role = discord.utils.get(message.guild.roles, id=830557149863608367)
if role in message.author.roles:
print('you have queued')
global author2
author2 = message.author
print(author2)
#Adds Role Duos
role = discord.utils.get(message.guild.roles, id=830219965549510656)
await message.author.add_roles(role)
#Removes Role NoQueue
role4 = discord.utils.get(message.guild.roles, id=830557149863608367)
await message.author.remove_roles(role4)
#Gives Message
await message.channel.send('you have joined the duos queue sit tight!')
queue += 1
await message.channel.send(queue)
if queue == 2:
queue = 0
print('SUCCESS')
if queue == 0:
role = discord.utils.get(message.guild.roles, id=830557149863608367)
if role in message.author.roles:
print('you have queued')
global author
author = message.author
print(author)
#Adds Role Duos
role = discord.utils.get(message.guild.roles, id=830219965549510656)
await message.author.add_roles(role)
#Removes Role NoQueue
role4 = discord.utils.get(message.guild.roles, id=830557149863608367)
await message.author.remove_roles(role4)
#Gives Message
await message.channel.send('you have joined the duos queue sit tight!')
queue += 1
await message.channel.send(queue)
#Is They Already Queued and Have Duos Role
else:
await message.channel.send('You Already Queued!')
您正在更改队列
变量,然后对其进行检查,这将导致该变量执行两次,解决此问题的简单方法是仅在队列的第一次检查中使用if
,在其他检查中使用elif
,即:
queue = 1
if queue == 1:
#Do Something
queue = 0
elif queue == 0:
#Do Something else
queue = 2
elif queue == 2:
#Do Something else
queue = 1
上面的示例代码只执行第一个if
语句,因为elif
仅在链接到的if
语句未执行时才执行。
这是一个取自现有代码库的cucumber场景大纲,但我被要求使用TestNG尝试它。一些东西(场景(),场景(),TestNGCucumberRunner,数据提供商)已经从stackoverflow上的另一个帖子中删除,因为我不知道如何使用TestNG使场景大纲发挥良好。 在执行时,唯一的错误是NullPointerException,因为WebDriver获取其值时@BeforeClass未触
为什么命令以开头?这是我看到它的网站。
python似乎支持许多不同的命令来停止脚本执行。 我找到的选择有:、、、 我错过了什么吗?它们之间有什么区别?你什么时候用?
什么命令打开Ruby的REPL? 在Python中,只需打开而不带任何参数。
问题内容: 似乎python支持许多不同的命令来停止脚本执行。 我发现的选择是: ,,, 我错过了吗?它们之间有什么区别?你何时会使用它们? 问题答案: 让我给他们一些信息: 在幕后提出异常。 此外,如果你打印它,它将给出一条消息: 包含此功能是为了帮助不了解Python的人。毕竟,新手尝试退出Python的最有可能的事情之一就是输入quit。 然而,quit应该不是在生产代码中使用。这是因为它仅
ChatGPT为什么这么火?