import { Parser, Command, OptionType } from '../build/esm/index.js'; const createCommand = 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 }] }] }); const botbanCommand = new Command({ name: 'botban', options: [ { name: 'users', type: OptionType.STRING, required: true }, { name: 'service', choices: ['support', 'reports'], valueAsAlias: true, required: true } ] }); const volumeCommand = new Command({ name: 'volume', options: [ { name: 'volume', type: OptionType.INTEGER, maximum: 100, minimum: 0 }, ] }); const parser = new Parser({ commands: [createCommand, botbanCommand, volumeCommand], prefix: '', debug: true }); parser.on('debug', console.log) console.log((await parser.parseMessage('create code -a 1')).args); console.log((await parser.parseMessage('create code --help')).args); // console.log(await parser.parseMessage('create --help')); console.log((await parser.parseMessage('create code')).args); console.log((await parser.parseMessage('botban support dingus')).args); console.log((await parser.parseMessage('volume 500')).args);