GTalkBot
[ruby][jabber][bot]GTalkBot
GoogleTalkで動作するチャットボットのサンプルを置いておくよ。
必要なもの
コード
#!ruby -Ku $KCODE='u' require 'sixamo' require 'xmpp4r/client' include Jabber sixamo = Sixamo.new('sixamo') # settings myJID = JID::new('example@gmail.com') myPassword = 'password' cl = Client::new(myJID) cl.connect cl.auth(myPassword) pl = Presence::new().set_show(:chat).set_status(sixamo.talk) cl.send(pl) puts "Connected ! send messages to #{myJID.strip.to_s}." mainthread = Thread.current cl.add_message_callback do |m| if m.type != :error sixamo.memorize(m.body) cl.send(pl.set_status(sixamo.talk(m.body))) if rand(30) < 5 cl.send(Message::new(m.from, sixamo.talk(m.body)).set_type(m.type)) end end Thread.stop cl.close
このボットは、リスト登録されたアカウントから話しかけられたら、お返事を返します。
リスト登録は手動でやらなきゃらないけないのが難点。