95 lines
2.6 KiB
JavaScript
95 lines
2.6 KiB
JavaScript
import { Parser, Command, OptionType } from '../build/esm/index.js';
|
|
|
|
const commands = [
|
|
new Command({
|
|
name: 'test',
|
|
options: [{
|
|
name: 'sub',
|
|
type: OptionType.SUB_COMMAND,
|
|
options: [{
|
|
name: 'flag',
|
|
type: OptionType.BOOLEAN,
|
|
defaultValue: true,
|
|
valueOptional: true,
|
|
flag: true
|
|
}]
|
|
}]
|
|
}),
|
|
new Command({
|
|
name: 'create',
|
|
options: [{
|
|
name: 'registration-code',
|
|
aliases: ['code'],
|
|
type: OptionType.SUB_COMMAND,
|
|
options: [{
|
|
name: 'amount',
|
|
flag: true,
|
|
type: OptionType.INTEGER,
|
|
defaultValue: 1,
|
|
valueOptional: true,
|
|
required: true,
|
|
instances: 2
|
|
}]
|
|
}]
|
|
}),
|
|
new Command({
|
|
name: 'botban',
|
|
options: [
|
|
{ name: 'users', type: OptionType.STRING, required: true },
|
|
{ name: 'service', choices: ['support', 'reports'], valueAsAlias: true, required: true }
|
|
]
|
|
}),
|
|
new Command({
|
|
name: 'volume',
|
|
options: [
|
|
{
|
|
name: 'volume',
|
|
type: OptionType.INTEGER,
|
|
maximum: 100,
|
|
minimum: 0
|
|
},
|
|
]
|
|
}),
|
|
new Command({
|
|
name: 'search',
|
|
options: [
|
|
{
|
|
name: 'artist',
|
|
flag: true
|
|
}, {
|
|
name: 'id',
|
|
flag: true,
|
|
type: OptionType.INTEGER
|
|
}, {
|
|
name: 'song'
|
|
}
|
|
]
|
|
})
|
|
];
|
|
|
|
const [first] = commands;
|
|
const parser = new Parser({
|
|
commands, prefix: '', debug: true,
|
|
globalFlags: [{
|
|
name: 'help',
|
|
flag: true,
|
|
valueOptional: true,
|
|
defaultValue: true,
|
|
type: OptionType.BOOLEAN
|
|
}],
|
|
allowIncompleteReturn: true
|
|
});
|
|
parser.on('debug', console.log);
|
|
console.log((await parser.parseMessage('create code -a 1 -a 6 -a 7')));
|
|
console.log((await parser.parseMessage('create code --help')));
|
|
console.log(await parser.parseMessage('create --help'));
|
|
console.log((await parser.parseMessage('test sub --help')));
|
|
console.log(first.subcommand('sub').options);
|
|
|
|
console.log((await parser.parseMessage('create code')));
|
|
|
|
console.log((await parser.parseMessage('botban support dingus')));
|
|
console.log((await parser.parseMessage('search --help')));
|
|
console.log((await parser.parseMessage('search --id 5000')));
|
|
console.log((await parser.parseMessage('volume 100')));
|
|
console.log((await parser.parseMessage('volume 200'))); |