Discord.js 有没有办法改变论点的顺序?

Discord.js 有没有办法改变论点的顺序?,discord.js,Discord.js,我正在使用一个命令来搜索游戏osu的地图!在网站bloodcat.com上,我和我用以下方法过滤地图: .split('status=ranked')。join('&c=b&s=1&m=&g=&l=')) .split('status=approved')。join('&c=b&s=2&m=&g=&l=')) .split('status=qualified').join('&c=b&s=3&m=&g=&l=')) .split('status=loved').join('&c=b&s=4&m=

我正在使用一个命令来搜索游戏osu的地图!在网站bloodcat.com上,我和我用以下方法过滤地图:

.split('status=ranked')。join('&c=b&s=1&m=&g=&l='))
.split('status=approved')。join('&c=b&s=2&m=&g=&l='))
.split('status=qualified').join('&c=b&s=3&m=&g=&l='))
.split('status=loved').join('&c=b&s=4&m=&g=&l='))
.split('status=unranked')。join('&c=b&s=0&m=&g=&l='))
.split('status=graveyarded')。join('c=b&s=0&m=&g=&l=');
现在有人可以做
!搜索'map name'status=unranked
,这将查找
https://bloodcat.com/osu/?mod=json&q=“映射名”&c=b&s=0&m=&g=&l=
但如果有人这样做,例如
!搜索状态=未分级的“地图名称”
没有任何办法。
即使用户没有将
status=unranked
放在命令的末尾,我也可以将它放在末尾吗?

我会这样做:首先,检查参数字符串是否以
status=
开头。如果是这样,您需要切换它们,否则,它应该像现在一样工作。
为了切换这些参数,我将用空格分隔字符串,删除第一个参数(
status=*
),用空格重新连接该参数,并添加删除的部分:

函数getQueryURL(argStr=”“){//argStr应该类似于“'map name'status=unranked”或“status=unranked'map name'”
if(argStr.startsWith('status=')){
设arr=argStr.split(“”);
let removed=arr.shift();
argStr=arr.join(“”).trim()+已移除.trim();
}
让res=argStr.split('status=ranked')。join('&c=b&s=1&m=&g=&l='))
.split('status=approved')。join('&c=b&s=2&m=&g=&l='))
.split('status=qualified').join('&c=b&s=3&m=&g=&l='))
.split('status=loved').join('&c=b&s=4&m=&g=&l='))
.split('status=unranked')。join('&c=b&s=0&m=&g=&l='))
.split('status=graveyarded')。join('c=b&s=0&m=&g=&l=');
返回“https://bloodcat.com/osu/?mod=json&q=“+res;
}

这会导致我的bot崩溃,并出现错误mapname.join不是一个函数