Source for file irccommands.php
Documentation is available at irccommands.php
* Copyright (c) 2002-2004 Mirco Bauer <meebey@meebey.net> <http://www.meebey.net>
* Full LGPL License: <http://www.gnu.org/licenses/lgpl.txt>
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
abstract class Net_SmartIRC_irccommands
* Sends a message to a channel or user.
* @param integer $type specifies the type, like QUERY/ACTION or CTCP see 'Message Types'
* @param string $destination can be a user or channel
* @param mixed $messagearray the message
* @param integer $priority the priority level of the message
* @return boolean|Net_SmartIRC
public function message ($type, $destination, $messagearray,
$priority = SMARTIRC_MEDIUM
$messagearray = array ($messagearray);
foreach ($messagearray as $message) {
$this->send ('PRIVMSG '. $destination. ' :'. $message, $priority);
foreach ($messagearray as $message) {
$this->send ('PRIVMSG '. $destination. ' :'. chr(1 ). 'ACTION '
. $message. chr(1 ), $priority
foreach ($messagearray as $message) {
$this->send ('NOTICE '. $destination. ' :'. $message, $priority);
foreach ($messagearray as $message) {
$this->send ('NOTICE '. $destination. ' :'. chr(1 ). $message
foreach ($messagearray as $message) {
$this->send ('PRIVMSG '. $destination. ' :'. chr(1 ). $message
* Joins one or more IRC channels with an optional key.
* @param mixed $channelarray
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function join ($channelarray, $key = null , $priority = SMARTIRC_MEDIUM )
$channelarray = array ($channelarray);
$channellist = implode(',', $channelarray);
foreach ($channelarray as $idx => $value) {
$this->send ('JOIN '. $value. ' '. $key, $priority);
foreach ($channelarray as $idx => $value) {
$this->send ('JOIN '. $value, $priority);
* parts from one or more IRC channels with an optional reason
* @param mixed $channelarray
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function part ($channelarray, $reason = null ,
$priority = SMARTIRC_MEDIUM
$channelarray = array ($channelarray);
$channellist = implode(',', $channelarray);
$this->send ('PART '. $channellist. ' :'. $reason, $priority);
$this->send ('PART '. $channellist, $priority);
* Kicks one or more user from an IRC channel with an optional reason.
* @param mixed $nicknamearray
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function kick ($channel, $nicknamearray, $reason = null ,
$priority = SMARTIRC_MEDIUM
$nicknamearray = array ($nicknamearray);
$nicknamelist = implode(',', $nicknamearray);
$this->send ('KICK '. $channel. ' '. $nicknamelist. ' :'. $reason, $priority);
$this->send ('KICK '. $channel. ' '. $nicknamelist, $priority);
* gets a list of one ore more channels
* Requests a full channellist if $channelarray is not given.
* (use it with care, usually its a looooong list)
* @param mixed $channelarray
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function getList ($channelarray = null , $priority = SMARTIRC_MEDIUM )
if ($channelarray !== null ) {
$channelarray = array ($channelarray);
$channellist = implode(',', $channelarray);
$this->send ('LIST '. $channellist, $priority);
$this->send ('LIST', $priority);
* requests all nicknames of one or more channels
* The requested nickname list also includes op and voice state
* @param mixed $channelarray
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function names ($channelarray = null , $priority = SMARTIRC_MEDIUM )
if ($channelarray !== null ) {
$channelarray = array ($channelarray);
$channellist = implode(',', $channelarray);
$this->send ('NAMES '. $channellist, $priority);
$this->send ('NAMES', $priority);
* sets a new topic of a channel
* @param string $newtopic
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function setTopic ($channel, $newtopic, $priority = SMARTIRC_MEDIUM )
$this->send ('TOPIC '. $channel. ' :'. $newtopic, $priority);
* gets the topic of a channel
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function getTopic ($channel, $priority = SMARTIRC_MEDIUM )
$this->send ('TOPIC '. $channel, $priority);
* sets or gets the mode of an user or channel
* Changes/requests the mode of the given target.
* @param string $target the target, can be an user (only yourself) or a channel
* @param string $newmode the new mode like +mt
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function mode ($target, $newmode = null , $priority = SMARTIRC_MEDIUM )
$this->send ('MODE '. $target. ' '. $newmode, $priority);
$this->send ('MODE '. $target, $priority);
* founders an user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function founder ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '+q '. $nickname, $priority);
* defounders an user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function defounder ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '-q '. $nickname, $priority);
* admins an user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function admin ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '+a '. $nickname, $priority);
* deadmins an user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function deadmin ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '-a '. $nickname, $priority);
* ops an user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function op ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '+o '. $nickname, $priority);
* deops an user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function deop ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '-o '. $nickname, $priority);
* hops an user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function hop ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '+h '. $nickname, $priority);
* dehops an user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function dehop ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '-h '. $nickname, $priority);
* voice a user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function voice ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '+v '. $nickname, $priority);
* devoice a user in the given channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function devoice ($channel, $nickname, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '-v '. $nickname, $priority);
* bans a hostmask for the given channel or requests the current banlist
* The banlist will be requested if no hostmask is specified
* @param string $hostmask
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function ban ($channel, $hostmask = null , $priority = SMARTIRC_MEDIUM )
if ($hostmask !== null ) {
$this->mode ($channel, '+b '. $hostmask, $priority);
$this->mode ($channel, 'b', $priority);
* unbans a hostmask on the given channel
* @param string $hostmask
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function unban ($channel, $hostmask, $priority = SMARTIRC_MEDIUM )
return $this->mode ($channel, '-b '. $hostmask, $priority);
* invites a user to the specified channel
* @param string $nickname
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function invite ($nickname, $channel, $priority = SMARTIRC_MEDIUM )
return $this->send ('INVITE '. $nickname. ' '. $channel, $priority);
* changes the own nickname
* Trys to set a new nickname, nickcollisions are handled.
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function changeNick ($newnick, $priority = SMARTIRC_MEDIUM )
return $this->send ('NICK '. $newnick, $priority);
* requests a 'WHO' from the specified target
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function who ($target, $priority = SMARTIRC_MEDIUM )
return $this->send ('WHO '. $target, $priority);
* requests a 'WHOIS' from the specified target
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function whois ($target, $priority = SMARTIRC_MEDIUM )
return $this->send ('WHOIS '. $target, $priority);
* requests a 'WHOWAS' from the specified target
* (if he left the IRC network)
* @param integer $priority message priority, default is SMARTIRC_MEDIUM
public function whowas ($target, $priority = SMARTIRC_MEDIUM )
return $this->send ('WHOWAS '. $target, $priority);
* sends QUIT to IRC server and disconnects
* @param string $quitmessage optional quitmessage
* @param integer $priority message priority, default is SMARTIRC_CRITICAL
public function quit ($quitmessage = null , $priority = SMARTIRC_CRITICAL )
if ($quitmessage !== null ) {
$this->send ('QUIT :'. $quitmessage, $priority);
$this->send ('QUIT', $priority);
return $this->disconnect (true );
Documentation generated on Thu, 25 Jul 2019 12:49:08 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.
|