python中多个可能参数组合的条件结构

python中多个可能参数组合的条件结构,python,Python,在pythonw argparse中检查多个可选参数的好方法是什么?例如“如果x和y但不是z,如果x和z但不是y,如果y和z但不是x”等等? 使此bot成为只等待字符串(对消息事件进行轮询)并希望能够提供(可选)用户、服务器或通道来等待字符串的东西。。。如果用户提供服务器但没有通道,则意味着我们要检查来自服务器中所有通道的所有消息。。。如果同时检查通道和服务器,那么我们只检查来自该服务器和该通道中的消息。。。不知道在没有太多分支(可能重复)代码的情况下如何编程 最终的结果是,当我们找到文本时,我

在pythonw argparse中检查多个可选参数的好方法是什么?例如“如果x和y但不是z,如果x和z但不是y,如果y和z但不是x”等等? 使此bot成为只等待字符串(对消息事件进行轮询)并希望能够提供(可选)用户、服务器或通道来等待字符串的东西。。。如果用户提供服务器但没有通道,则意味着我们要检查来自服务器中所有通道的所有消息。。。如果同时检查通道和服务器,那么我们只检查来自该服务器和该通道中的消息。。。不知道在没有太多分支(可能重复)代码的情况下如何编程

最终的结果是,当我们找到文本时,我们会发送一条消息。但我们只能在提供的“最高”特定性水平上找到文本。我如何把它写成条件语句

编辑:示例:

async def on_msg(msg):
    if args.text in msg.content and msg.guild.id == args.server and msg.channel.id == args.channel and msg.author.id == args.author:
        await msg.channel.send('test')
这仅在设置了所有选项时有效,但我希望能够省略选项,例如:

async def on_msg(msg):
    if args.text in msg.content or msg.guild.id == args.server or msg.channel.id == args.channel or msg.author.id == args.author:
            await msg.channel.send('test')
但这并不能满足我的要求,因为用户可以省略任何一个术语,只要其中一个是真的。我想使用提供的任何值来抑制特异性水平,而不仅仅是/或

理想情况下,我想要这样的东西:

async def on_msg(msg, channel, server, user):
这可以让我控制在哪里查找我的文本。但据我所知,API(discord.py)中不存在这种情况。

添加类似的参数

arg_parser.add_argument("--first", type=float, help="first value", default=1)
arg_parser.add_argument("--second", type=float, help="second value", default=2)
arg_parser.add_argument("--third", type=float, help="third value", default=3)
然后像这样打电话

python <PythonFileName.py> --first=<first input> --second=<second input> --third=<third input>
python--first=--second=--third=

为argparse提供默认值。。例如,将您的变量设置为-999或其他值,然后检查提供的值和未提供的值。请向我们展示一些示例代码,以便我们可以根据您的需要对其进行修改和测试。是否愿意分享您迄今为止获得的值?