A pretty basic argument parser
Use the parseArgs function:
parseArgs(`!ban @nin0.dev --reason "annoying" -p`, { prefix: "!", positionalArgumentName: "user" });
and you'll get:
{ commandName: "ban", args: { p: "true", reason: "annoying", user: "@nin0.dev" } }
Flags
-p
--permanent
Short form, strings
-r "annoying"
-r 'annoying'
-r annoying (can be used with one word values)
Long form, strings
--reason "annoying"
--reason="annoying"
--reason 'annoying'
--reason='annoying'
--reason annoying (can be used with one word values)
--reason=annoying (can be used with one word values)