首页 » 技术分享 » 小I机器人

小I机器人

 

[img]http://www.iteye.com/upload/attachment/86617/3ec16a68-bdd1-3143-a052-6e10e5c5f096.jpg[/img]

xiaoi.rb

require'open-uri'
require'cgi'
class XiaoI
Webbot_Path="http://202.109.73.87/engine/flashrobot2/webbot.js"
Send_Path="http://202.109.73.87/engine/flashrobot2/send.js"
Recv_Path="http://202.109.73.87/engine/flashrobot2/recv.js"
def initialize()
@sid=open(Webbot_Path).read.scan(/sessionId\s?=\s?"(\d+)"/m).flatten.to_s
open(Send_Path + "?SID=#{@sid}&USR=#{@sid}&CMD=JOIN&r=")
open(Recv_Path + "?SID=#{@sid}&USR=#{@sid}&r=")
@sid
end
def send(msg='')
open(Send_Path + "?SID=#{@sid}&USR=#{@sid}&CMD=CHAT&SIG=You&MSG=#{CGI::escape(msg)}")
end
def recv
open(Recv_Path + "?SID=#{@sid}&USR=#{@sid}&r=").read.scan(/\(\[\{"MSG":"(.*?)"/).flatten.to_s
end
end

test.rb

base=File.expand_path(File.dirname(__FILE__))
$:.unshift base
require'xiaoi.rb'
require'iconv'
def h(str)
iconv=Iconv.new("UTF-8//IGNORE","GBK//IGNORE")
iconv.iconv(str).to_s
end
xiao_i=XiaoI.new
loop do
print "我:"
xiao_i.send(h(gets.chop))
puts "小I机器人:#{xiao_i.recv}"
end

svn:http://xiaoi-ruby.googlecode.com/svn/trunk/

转载自原文链接, 如需删除请联系管理员。

原文链接:小I机器人,转载请注明来源!

0