Sha256: b70f4fa8ebe1b77d27bd12c90a9a20449ab48570cb261ffdff07fffea77dcd41

Contents?: true

Size: 868 Bytes

Versions: 2

Compression:

Stored size: 868 Bytes

Contents

class EventWrapper
  include QwtfDiscordBot

  DEFAULT_MAXPLAYERS = 8

  def initialize(event)
    @event = event
  end

  def user_id
    @event.user.id
  end

  def username
    @event.user.username
  end

  def maxplayers_key
    [pug_key, "maxplayers"].join(":")
  end

  def maxplayers
    redis.setnx(maxplayers_key, DEFAULT_MAXPLAYERS)
    redis.get(maxplayers_key).to_i
  end

  def joined_player_count
    redis.scard(players_key).to_i
  end

  def slots_left
    maxplayers - joined_player_count
  end

  def pug_key
    ["pug", "channel", @event.channel.id].join(":")
  end

  def players_key
    [pug_key, "players"].join(":")
  end

  def player_slots
    "#{joined_player_count}/#{maxplayers}"
  end

  def users
    @event.server.users
  end

  def role_key
    [pug_key, "role"].join(":")
  end

  def role
    redis.get(role_key) || "@here"
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
qwtf_discord_bot-5.0.2 lib/event_wrapper.rb
qwtf_discord_bot-5.0.1 lib/event_wrapper.rb