Warchat

This project aims to create a simple ruby interface for connecting to Blizzard's Mobile Guild Chat.

Features

  • SRP authentication
  • Guild Chat
  • Officer Chat
  • Whispers
  • Presence notifications

Acknowledgements

A big thanks to Eike Siewertsen (http://www.github.com/fry), without whom this probably wouldn't be possible.

Simple Usage example

This is a simple chat client that will let you talk in guild chat and receive messages.

require 'rubygems'
require 'warchat'

USERNAME = ''
PASSWORD = ''
CHARACTER_NAME = ''
CHARACTER_REALM = ''
HOST = "m.us.wowarmory.com" 
#HOST = "m.eu.wowarmory.com"
#HOST = "m.kr.wowarmory.com"
PORT = 8780

client = Warchat::Chat::Client.new

client.on_establish = Proc.new do |response|
client. CHARACTER_NAME,CHARACTER_REALM
end

client.on_message = Proc.new do |message|
case message.type
  when Warchat::Chat::Message::CHAT_MSG_TYPE_GUILD_CHAT
    puts "[Guild] #{message.character.name}: #{message.body}"
  when Warchat::Chat::Message::CHAT_MSG_TYPE_GUILD_MOTD
    puts "MOTD: #{message.body}"
  when Warchat::Chat::Message::CHAT_MSG_TYPE_OFFICER_CHAT
    puts "[Officer] #{message.character.name}: #{message.body}"
  when Warchat::Chat::Message::CHAT_MSG_TYPE_WHISPER
    puts "[Whisper] #{message.character.name}: #{message.body}"
end
end

begin
client.start(USERNAME,PASSWORD,HOST,PORT)
loop do 
  msg = gets.chomp 
  client.message msg,Warchat::Chat::Message::CHAT_MSG_TYPE_GUILD_CHAT
end
rescue Interrupt => e
client.close
end