Python Discord.py多词参数,另一个选项?

Python Discord.py多词参数,另一个选项?,python,arguments,discord.py,args,Python,Arguments,Discord.py,Args,我知道我可以使用*args,我知道我可以使用*,arg,我知道我可以在命令周围使用引号,使它们作为一个参数来读取。最后一个选项似乎很吸引人,但有没有办法让机器人自动假设某个参数周围有引号,从而允许使用多个单词?也许在使用某个特定字符之前,允许使用我想要的任意多的单词,然后它会进入下一个参数?我不能使用*args,因为最后一个参数也需要允许多个单词。在不重构命令的情况下,如何允许参数接受多个单词 我以前见过一个机器人这样做,但它是在js中,所以我实际上认为这可能是不可能的,但是idk。这个函数可以

我知道我可以使用
*args
,我知道我可以使用
*,arg
,我知道我可以在命令周围使用引号,使它们作为一个参数来读取。最后一个选项似乎很吸引人,但有没有办法让机器人自动假设某个参数周围有引号,从而允许使用多个单词?也许在使用某个特定字符之前,允许使用我想要的任意多的单词,然后它会进入下一个参数?我不能使用*args,因为最后一个参数也需要允许多个单词。在不重构命令的情况下,如何允许参数接受多个单词


我以前见过一个机器人这样做,但它是在js中,所以我实际上认为这可能是不可能的,但是idk。

这个函数可以让你这样做。它将在字符串中循环,将每个字符添加到单独的字符串中,如果遇到指定的分隔符,则将该字符串附加到列表中。它一直这样做,直到到达给定字符串的末尾

def分离器(arg,delimeter):
最终结果=[]
toAppend=''
索引=0
对于arg中的i:
如果(i==测力计):
finalArgs.append(toAppend.strip())
toAppend=''
其他:
toAppend+=i
如果(索引==len(arg)-1):
finalArgs.append(toAppend.strip())
toAppend=''
指数+=1
返回终局
打印(separargs('hello我的名字是-world-land','-'))
#应打印:[“你好,我的名字是”,“世界”,“土地”]

你能解释一下你还想做些什么吗?我想能够键入这样的命令:
/name hello我的名字是--world--land
,但只有当我键入
/name“hello我的名字是--world--land
时才能这样做。基本上,我需要能够在最后使用多个参数(world和land都是一个过滤器,由
--
分隔)。当前参数是
(self,ctx,昵称,*,filtered)
,我希望昵称部分允许多个单词而不需要多个单词您考虑使用正则表达式吗?