if(rawPerms==0&&botUserLevel<0)botUserLevel=Math.abs(botUserLevel);//fall back in case misconfiguration
if(botUserLevel>0&&!metBotUserLevel)returnBotUserLevel.values()[botUserLevel].name();//level > 0 = the command is specifically for BotMod+
elseif(botUserLevel==0&&!metPerms)returnperms.stream().map(p->p.name()).collect(Collectors.joining(", "));//not specified for BotMod+, check perms
elseif(botUserLevel<0&&!(metBotUserLevel||metPerms))returnBotUserLevel.values()[Math.abs(botUserLevel)].name()+" OR "+perms.stream().map(p->p.name()).collect(Collectors.joining(", "));//since BotMod+ overrides perms, either they have perm or BotMod+ suffices
if(botUserLevel>0)returnBotUserLevel.values()[botUserLevel].name();//level > 0 = the command is specifically for BotMod+
elseif(botUserLevel==0&&!perms.isEmpty())returnperms.stream().map(p->p.name()).collect(Collectors.joining(", "));//not specified for BotMod+, check perms
elseif(botUserLevel<0)returnBotUserLevel.values()[Math.abs(botUserLevel)].name()+(!perms.isEmpty()?" OR "+perms.stream().map(p->p.name()).collect(Collectors.joining(", ")):"");//since BotMod+ overrides perms, either they have perm or BotMod+ suffices