mootoh


自己紹介


Products





Twitter Bot を Ruby でつくる

Goal

Twitter

Bot

つくってみよう !

Overview

やること

受信方法

API

Jabber

XMPP4R

使ってみる

初期化

require 'rubygems'
require 'xmpp4r'

client = Jabber::Client.new(Jabber::JID.new(user))
client.connect
client.auth(pass)
client.send(Jabber::Presence::new)

callbackを記述

client.add_message_callback do |message|
  unless message.type == :error
    ...
  end
end

メッセージをparse

if message.body =~ /Direct from (.*):/
  sender = $1
  msg = message.body.split(/\r?\n/)
  msg.shift # Direct from ... を削る
  msg.pop # 末尾の行も削る
  body = msg.join

なにかする !

reply = if (body =~ /!abort/) ?
  end_ = true # abort といわれたら終わる
  "d #{sender} aborting..."
else
  "d #{sender}\n#{message.body}"
end

client.send(Jabber::Message::new(message.from,
    reply).set_type(:chat))

元スレッド

watcher = Thread.new do
  until _end
    # まだ生きてるよ !
    client.send(Jabber::Presence::new)
    sleep 30
  end
end

できあがり !

\(^o^)/

応用

まとめ

ありがとうございました