import { CommandInitializer, Command } from '../parser.js'; import parse, { initialize, instructions } from '../lights/light_parser.js'; import req from '../lights/request.js'; const initializer = new CommandInitializer(); class LightsParser extends Command { init(ctx, log) { this.log = log; initialize(ctx); } name = 'lights'; whitelist = true; func(msg, args, ctx) { if (!args.length) { msg.channel.createMessage('no args found.'); return; } let instructions = parse(args[0]); this.log.debug(instructions); let res = '```\n'; instructions.forEach((instruction) => { res += JSON.stringify(instruction) + '\n'; }); res += '```'; msg.channel.createMessage(`parsed instructions:\n${res}`); req( instructions.filter((i) => i.valid), (response) => { msg.channel.createMessage(`${response.statusCode}`); }, (error) => { msg.channel.createMessage(`error.`); } ); } } initializer.addCommand(new LightsParser()); export default initializer;