Protocol/MUC/Bot

Last-modified: 2007-03-08 (木) 19:40:54

Rubyでbotを作るときの話

利用するもの

  • rexml (標準ライブラリ)
  • xmpp4r (rubygem)

botがchatroomのownerになる。

exampleのmucsimplebot.rbを改造する。
XEP-0045: Multi-User Chat 10.1.2 Creating an Instant Roomを送信するためにm.joinとThread.stopの間に以下を追加

# unlock room
iq = Jabber::Iq.new(:set)
query = Jabber::IqQuery.new
query.add_namespace("http://jabber.org/protocol/muc#owner")
xx = Jabber::X.new
xx.add_namespace("jabber:x:data")
xx.add_attribute("type", "submit")
iq.query=query
query.add_element(xx)
m.send(iq)