/** * Tests ordering by command priority then FIFO. */ public function testPriorities() { // start with empty queue $this->assertNull($this->queue->extract()); // queue a bunch of stuff $this->queue->ircQuit('Bye!'); $this->queue->ircPrivmsg('#channel', 'text1'); $this->queue->ircPrivmsg('#channel', 'text2'); $this->queue->ircPrivmsg('#channel', 'text3'); // verify order of output $event = $this->queue->extract(); $this->assertInstanceOf('\\Phergie\\Irc\\Event\\EventInterface', $event); $this->assertEquals('PRIVMSG', $event->getCommand()); $this->assertEquals(['#channel', 'text1'], $event->getParams()); $event = $this->queue->extract(); $this->assertInstanceOf('\\Phergie\\Irc\\Event\\EventInterface', $event); $this->assertEquals('PRIVMSG', $event->getCommand()); $this->assertEquals(['#channel', 'text2'], $event->getParams()); $event = $this->queue->extract(); $this->assertInstanceOf('\\Phergie\\Irc\\Event\\EventInterface', $event); $this->assertEquals('PRIVMSG', $event->getCommand()); $this->assertEquals(['#channel', 'text3'], $event->getParams()); $event = $this->queue->extract(); $this->assertInstanceOf('\\Phergie\\Irc\\Event\\EventInterface', $event); $this->assertEquals('QUIT', $event->getCommand()); $this->assertEquals(['Bye!'], $event->getParams()); $this->assertNull($this->queue->extract()); }
public function handleDaddyMessage(Event $event, EventQueue $queue) { if ($event instanceof UserEvent) { $nick = $event->getNick(); $channel = $event->getSource(); $params = $event->getParams(); $text = $params['text']; $matched = preg_match("/\\s*who'?s (?:your|ya) ([^?]+)[?]?/i", $text, $matches); if ($matched) { $msg = "You're my " . $matches[1] . ', ' . $nick . '!'; $queue->ircPrivmsg($channel, $msg); } } }
/** * @param Url $url * @param UserEvent $event * @param EventQueue $queue */ protected function sendMessage(Url $url, UserEvent $event, EventQueue $queue) { $message = $this->getHandler()->handle($url); $queue->ircPrivmsg($event->getSource(), $message); }