Steam::Csgo

A "plugin" for fastpeek/steam. Allows the Steam Client to handle CS:GO specific events as well as request information from the CS:GO Game Coordinator. Currently, only the fetching of Match results is implemented.

Requirements

Installation

Add this line to your application's Gemfile:

gem 'steam-csgo'

And then execute:

$ bundle

Or install it yourself as:

$ gem install steam-csgo

Usage

Here is an example that uses the plugin to request the match information for a given match. The login flow has been omitted.

class MyClient
  def initialize
  end

  def ready(client)
    client.steam_user.('username', 'password')
  end

  def csgo_match_info(_client, info)
    # Do something with info
  end

  def csgo_ready(client)
    client.csgo.request_game_info(3_176_070_719_880_560_711,
                                  3_176_076_024_165_171_409,
                                  39_898)
  end

  def on_logon(client, msg)
    case msg.body.eresult
    when EResult::OK
      client.csgo.start
    else
      raise "Error: #{msg.body.eresult}"
    end
  end
end

bot = Steam::Client.new
bot.plugin(:csgo)
bot.subscribe(MyClient.new)
bot.start

Development

You can read more about how the "plugins" work on the fastpeek/steam wiki page here