} else {
$str .= ';';
}
+ // TODO: this may need some kind of encoding?
$str .= $name.'=';
if (!empty($value)) {
$str .= $value;
return TokenizedMessage::fromIRC($this);
}
+ public static function capReq($cap) {
+ $msg = new IRCMessage();
+ $msg->command = 'CAP REQ';
+ $msg->params[] = $cap;
+ return $msg;
+ }
+
public static function join($channels) {
$msg = new IRCMessage();
$msg->command = 'JOIN';
return $this->command == 'PRIVMSG';
}
+ public function isRoomstate() {
+ return $this->command == 'ROOMSTATE';
+ }
+
+ public function isWhisper() {
+ return $this->command == 'WHISPER';
+ }
+
public function isOwner() {
return substr($this->getPrivMsgTarget(), 1) == $this->nick;
}
return $this->isOwner() || (isset($this->tags['mod']) && $this->tags['mod'] == '1');
}
+ public function hasTag($name) {
+ return array_key_exists($name, $this->tags);
+ }
+
+ public function getTag($name) {
+ return $this->tags[$name];
+ }
+
public function makePong() {
$msg = new IRCMessage();
$msg->command = 'PONG';