LXI. IRC Gateway Functions

Введение

With IRCG you can rapidly stream XML data to thousands of concurrently connected users. This can be used to build powerful, extensible interactive platforms such as online games and webchats. IRCG also features support for a non-streaming mode where a helper application reformats incoming data and supplies static file snippets in special formats such as cHTML (i-mode) or WML (WAP). These static files are then delivered by the high-performance web server.

Up to v4, IRCG runs under these platforms:

  • AIX

  • FreeBSD

  • HP-UX

  • Irix

  • Linux

  • Solaris

  • Tru64

  • Windows

Замечание: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Установка

Detailed installation instructions can be found at http://www.schumann.cx/ircg/. We urge you to use the provided installation script.

It is not recommended, but you can try enable IRCG support yourself. Provide the path to the ircg-config script, --with-ircg-config=path/to/irc-config and in addition add --with-ircg to your configure line.

Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Предопределенные константы

Данное расширение не определяет никакие константы.

Содержание
ircg_channel_mode --  Set channel mode flags for user
ircg_disconnect --  Close connection to server
ircg_eval_ecmascript_params -- Decodes a list of JS-encoded parameters
ircg_fetch_error_msg --  Returns the error from previous IRCG operation
ircg_get_username --  Get username for connection
ircg_html_encode --  Encodes HTML preserving output
ircg_ignore_add --  Add a user to your ignore list on a server
ircg_ignore_del --  Remove a user from your ignore list on a server
ircg_invite -- Invites nickname to channel
ircg_is_conn_alive --  Check connection status
ircg_join --  Join a channel on a connected server
ircg_kick --  Kick a user out of a channel on server
ircg_list -- List topic/user count of channel(s)
ircg_lookup_format_messages --  Check for the existence of a format message set
ircg_lusers -- IRC network statistics
ircg_msg --  Send message to channel or user on server
ircg_names -- Query visible usernames
ircg_nick --  Change nickname on server
ircg_nickname_escape --  Encode special characters in nickname to be IRC-compliant
ircg_nickname_unescape --  Decodes encoded nickname
ircg_notice --  Send a notice to a user on server
ircg_oper -- Elevates privileges to IRC OPER
ircg_part --  Leave a channel on server
ircg_pconnect --  Connect to an IRC server
ircg_register_format_messages --  Register a format message set
ircg_set_current --  Set current connection for output
ircg_set_file --  Set logfile for connection
ircg_set_on_die --  Set action to be executed when connection dies
ircg_topic --  Set topic for channel on server
ircg_who -- Queries server for WHO information
ircg_whois --  Query server for user information


IRC Gateway Functions
malo at dasevil dot de
05-May-2006 08:59
If sb need a simple PHP IRC Class:

http://sf.net/projects/irccc
matthias at matthiaswinkelmann dot com
09-Aug-2005 02:59
I have posted the last BSD-Licensed version of ircg at http://www.matthiaswinkelmann.com/index.php/
2005/08/09/ircg-27-last-bsd-licensed-version/ (link broken into two lines)

I haven't tried the IRC packages in PEAR, but I'd suspect that ircg is much faster and better in handling high amounts of connections, since these things are rather tricky to do in php.
howanghk NOSPAM at gmail NOSPAM dot com
28-Jul-2005 03:57
In fact, this IRCG is shareware (which limit to 10 connections at one time only) and useless!
The real solution is the Net_SmartIRC PEAR Package http://pear.php.net/package/Net_SmartIRC/
The Net_SmartIRC package provide all the function that you need with IRC and it is possible for you to send a raw command to the IRC server. I highly recommand you to use Net_SmartIRC instead of IRCG!
Sami Fouad
26-Apr-2005 03:39
Yes, the newer versions are shareware, but the older version is not so I don't see why this should be removed. And it is still freely available on his website here: http://www.schumann.cx/ircg/windows.php

But as the URL might indicate to you, it's Win32 servers only.
karl dot robert at gmail dot com
13-Jan-2005 04:43
ircg 3 and 4 are shareware, but ircg 2 was bsd-licenced. I still have that version (sasha schumann pulled it from his website - i wonder why). Send me an email if you want it.
16-Apr-2004 06:50
watch out, ircg is shareware as it seems.
Quoting from http://schumann.cx/ircg/ircg4.php :
The IRCG 4 Free Trial does not allow more than 10 concurrent connections
Answer: The IRCG 4 Free Trial is limited to 10 concurrent connections. You can buy an unlimited license by contacting us here.

Poor job, documentation team. Do you like promoting shareware in your manual just because its from a core developer?
meebey at php dot net
02-Jun-2003 04:23
If you just need an IRC client/bot in PHP without this IRCG extension, you want to look at the PEAR::SmartIRC class. Here the direct link to this class: http://pear.php.net/package-info.php?pacid=146
darkelder at php dot net
11-Nov-2002 09:16
This is an example to show how to connect to a IRC server, how to join a channel, send and receive messages.

<?PHP

/* change it to your own nickname                                              */
$nickname              = "myOwnNick";
/* choice your irc server                                                      */
$server                = "irc.brasirc.net";
/* change to your channel                                                      */
$channel                = "#linux";
/* do not change it if you do not know what means :-)                          */
$port                  = "6667";

/* as ircg cannot resolve hosts, we use PHP internal function to get the IP    */
$ip                    = gethostbyname($server);

/* connection                                                                  */
$id                    = ircg_pconnect($nickname,$ip,$port);

/* checking if  connected                                                      */
if (!ircg_is_conn_alive($id))
{
       print
"Cannot connect<br>";
       exit;
}

/* joining a channel                                                            */
if (!ircg_join($id,$channel))
{
       print
"Cannot join to $chanell<br>";
}

/* getting messages - you must have this in your php file                      */
ircg_set_current($id);

/* send messages to your channel and you                                        */
ircg_msg($id,$channel,"Hello $channel!!");
ircg_msg($id,$nickname,"This message goes to me!!!");

?>
ssruprai at hotmail dot com
02-May-2002 06:55
You may face problems with php 4.20 configure script when using "--with-ircg-config" without providing any path to script file. When it tries to configure ircg it just starts printing --ldflags continuously.

checking for IRCG support... yes
--ldflags
--ldflags
--ldflags
--ldflags
--ldflags
--ldflags
--ldflags
--ldflags

So always provide path to ircg-config file as in --with-ircg-config=/user/local/bin/ircg-config

<ingres_rollbackircg_channel_mode>
 Last updated: Tue, 15 Nov 2005