/** * Checks that user event data has been converted. * * @param array $data * @param \Phergie\Irc\Event\UserEvent $event */ protected function checkUserEventData(array $data, UserEvent $event) { $this->assertSame($data['prefix'], $event->getPrefix()); $this->assertSame($data['nick'], $event->getNick()); $this->assertSame($data['user'], $event->getUsername()); $this->assertSame($data['host'], $event->getHost()); $this->assertSame($data['message'], $event->getMessage()); $this->assertSame($data['command'], $event->getCommand()); $this->assertSame($data['targets'], $event->getTargets()); }
/** * Tests setNick(). */ public function testSetNick() { $nick = 'nick'; $this->event->setNick($nick); $this->assertSame($nick, $this->event->getNick()); }
/** * Modifies a term's karma. * * @param string $term Term to modify * @param string $action Karma action (either ++ or --) * @param \Phergie\Irc\Event\UserEvent $event * @param \Phergie\Irc\Bot\React\EventQueueInterface $queue * @return bool|\React\Promise\Promise */ protected function modifyKarma($term, $action, UserEvent $event, Queue $queue) { $nick = $event->getNick(); $canonicalTerm = $this->getCanonicalTerm($term, $nick); if ($canonicalTerm == strtolower($nick)) { $message = 'You can\'t give yourself karma.'; $queue->ircPrivmsg($event->getSource(), $message); return false; } $karma = 0; return $this->messenger->rpc(MessageFactory::rpc('fetchKarma', ['term' => $canonicalTerm]))->then(function ($payload) use($event, $queue, $action, $term, $canonicalTerm, &$karma) { $this->logDebug('payload: ' . var_export($payload, true)); $karma = $payload['karma'] + ($action == '++' ? 1 : -1); return MessageFactory::rpc('modifyKarma', ['term' => $canonicalTerm, 'karma' => $karma]); })->then([$this->messenger, 'rpc'])->then(function ($payload) use($event, $queue, $action, $term) { $this->logDebug('payload: ' . var_export($payload, true)); $queue->ircPrivmsg($event->getSource(), $this->getUserMessage('karma' . $action, $term)); return $payload['karma']; }); }