class Richpresence::Client

Public Class Methods

new(client_id) click to toggle source
# File lib/richpresence-client.rb, line 7
def initialize(client_id)
  @client_id = client_id.to_s
  @ipc = Richpresence::Ipc.new
end

Public Instance Methods

activity=(params) click to toggle source
# File lib/richpresence-client.rb, line 21
def activity=(params)
  payload = {
    cmd: 'SET_ACTIVITY',
    args: {
      activity: params,
      pid: Process.pid
    }
  }

  run 'Setting activity...'
  response = JSON.parse @ipc.send(Richpresence::Opcode::FRAME, payload)[1]

  # If there is an error
  code = response['data']['code']
  if code
    error = Richpresence::Errors.parse_error_code(code)
    bad "An error occured: #{error}"
    exit code
  end

  good 'Activity setted'
end
login() click to toggle source
# File lib/richpresence-client.rb, line 12
def login
  payload = {
    v: 1,
    client_id: @client_id
  }

  @ipc.send(Richpresence::Opcode::HANDSHAKE, payload)
end