XMPPHP
August 28th, 2008 at 11:18pm 雪山飞猪
XMPPHP 是一个 Jabber/XMPP 的 PHP 类。使用它能够制作 Gtalk 机器人。它有如下功能:
- 能够连接到任何 XMPP 1.0 服务器,(Google Talk,LJ Talk,jabber.org 等等)
- 支持 TLS 加密
- 几种 XML 处理实现和支持样式
- 持久连接
下面是一个发送信息的例子。
<?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/


分享到 Twitter

1. 风吟 | August 29, 2008 at 7:17 am | #
我什么也米看见。
[回复该留言]2. neekey | August 29, 2008 at 11:59 am | #
不错的创意,如果再缓存一下数据之类的倒可以做个WEB2.0网站了
[回复该留言]3. 雪山飞猪 | August 29, 2008 at 1:08 pm | #
发现用 PHP 写的 GTALK 机器人及其不稳定。
[回复该留言]4. Belen | August 29, 2008 at 2:08 pm | #
怎么PHP写的就会不稳定呢?
[回复该留言]5. Jamie | August 29, 2008 at 7:18 pm | #
哦,这个很高科技啊。可惜我不懂php。denis,你有打算收徒弟啊?
[回复该留言]6. mg12 | August 30, 2008 at 8:41 pm | #
XMPP 协议在文件发送和音频视频方面的现实相当麻烦. 但这种瘦客户端策略应用到网页上倒是非常强大, 而且升级极其方便.
[回复该留言]好东西, download 下来慢慢使.
7. mg12 | August 30, 2008 at 8:41 pm | #
=. = 本文没有链接, 自己找去…
[回复该留言]