首页 » 开源 » XMPPHP

XMPPHP

XMPPHP 是一个 Jabber/XMPP 的 PHP 类。使用它能够制作 Gtalk 机器人。它有如下功能:

  1. 能够连接到任何 XMPP 1.0 服务器,(Google Talk,LJ Talk,jabber.org 等等)
  2. 支持 TLS 加密
  3. 几种 XML 处理实现和支持样式
  4. 持久连接


下面是一个发送信息的例子。

<?php
include("xmpp.php");
$conn = new XMPP('talk.google.com', 5222, 'username', 'password', 'xmpphp', 'gmail.com', $printlog=False, $loglevel=LOGGING_INFO);
$conn->connect();
$conn->processUntil('session_start');
$conn->message('someguy@someserver.net', 'This is a test message!');
$conn->disconnect();
?>

下面是一个命令行机器人代码:

<?php
include("xmpp.php");
$conn = new XMPP('talk.google.com', 5222, 'user', 'password', 'xmpphp', 'gmail.com', $printlog=True, $loglevel=LOGGING_INFO);
$conn->connect();
while(!$conn->disconnected) {
    $payloads = $conn->processUntil(array('message', 'presence', 'end_stream', 'session_start'));
    foreach($payloads as $event) {
        $pl = $event[1];
        switch($event[0]) {
            case 'message':
                print "--------------------------------------\n";
                print "Message from: {$pl['from']}\n";
                if($pl['subject']) print "Subject: {$pl['subject']}\n";
                print $pl['body'] . "\n";
                print "--------------------------------------\n";
                $conn->message($pl['from'], $body="Thanks for sending me \"{$pl['body']}\".", $type=$pl['type']);
                if($pl['body'] == 'quit') $conn->disconnect();
                if($pl['body'] == 'break') $conn->send("</end>");
            break;
            case 'presence':
                print "Presence: {$pl['from']} [{$pl['show']}] {$pl['status']}\n";
            break;
            case 'session_start':
                $conn->presence($status="Cheese!");
            break;
        }
    }
}
?>

我利用这个创建了一个 gtalk 机器人。然后通过和它交互来发布文章到 WordPress 博客。但是基于 PHP 的机器人总是非常不稳定。所以只能自己玩玩了。 :-) 有兴趣可以到这里看看:http://fairyfish.net/mjj/

标签:

分享到:

7 条评论 添加你的评论 →

  • 风吟 2008-08-29 07:17:28 #

    我什么也米看见。

    支持 反对

  • neekey 2008-08-29 11:59:42 #

    不错的创意,如果再缓存一下数据之类的倒可以做个WEB2.0网站了 :)

    支持 反对

  • Jamie 2008-08-29 19:18:31 #

    哦,这个很高科技啊。可惜我不懂php。denis,你有打算收徒弟啊?

    支持 反对

  • mg12 2008-08-30 20:41:23 #

    XMPP 协议在文件发送和音频视频方面的现实相当麻烦. 但这种瘦客户端策略应用到网页上倒是非常强大, 而且升级极其方便.
    好东西, download 下来慢慢使.

    支持 反对

  • mg12 2008-08-30 20:41:59 #

    =. = 本文没有链接, 自己找去…

    支持 反对

发表评论

你必须 登陆 之后才能留言。你可以使用以下方式快速登陆我爱水煮鱼:

使用新浪微博登陆 使用腾讯微博登陆 使用豆瓣登陆

你也可选择直接在本站 注册