public function onCommandReceived(CommandEvent $event) { $command = $event->getCommand(); $data = $event->getData(); $command->setChannel($data->channel); $command->setUser($data->user); $command->execute($data, $event->getContext()); }
private function setupMessageListener() { $this->client->on("message", function ($message) { $data = $message->getData(); $this->logger->info($data); $data = json_decode($data); if (isset($data->text)) { $trigger = explode(' ', $data->text)[0]; if (isset($this->commands[$trigger])) { $commandEvent = new CommandEvent(); $commandEvent->setCommand($this->commands[$trigger]); $commandEvent->setData($data); $commandEvent->setContext($this->context); $this->dispatcher->dispatch('command.received', $commandEvent); } } }); }