chat-arg-parser
v2.1.2
Published
Parses commands with a specified prefix, delimited by spaces, with support for double & single quotations, and no need for escaping.
Downloads
22
Maintainers
Readme
chat-arg-parser
Parses commands with a specified prefix, delimited by spaces, with support for double & single quotations, and no need for escaping.
The function returns an object containing the command and its arguments:
{
cmd: 'jail',
args: ['person', '10d'],
}
Installation
Using npm:
$ npm install chat-arg-parser
How to use
const parseCommandInput = require('chat-arg-parser');
// command_input would be set by an event where a user sends a command,
// for example, this could be a Discord server chat message
var command_input = '!jail';
parseCommandInput('!', command_input);
// => {cmd: 'jail', args: []}
var command_input = '!jail "name with spaces" 10s';
parseCommandInput('!', command_input);
// => {cmd: 'jail', args: ['name with spaces', '10s']}
var command_input = "!jail 'name with spaces' 10s";
parseCommandInput('!', command_input);
// => {cmd: 'jail', args: ['name with spaces', '10s']}
var command_input = '!jail "name with "quotation" 10s';
parseCommandInput('!', command_input);
// => {cmd: 'jail', args: ['name with "quotation', '10s']}
var command_input = 'not a command';
parseCommandInput('!', command_input);
// => false