Project

warchat

0.0
No commit activity in last 3 years
No release in over 3 years
A simple interface to World of Warcraft Remote Guild Chat in Ruby. Supports whispers, guild chat, officer chat, and presence notifications. Many thanks to Eike Siewertsen (https://github.com/fry) for his work deciphering the protocol.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0.5.0
 Project Readme

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 (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.login 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