Class: Sugilite::GetUserList

Inherits:
Object
  • Object
show all
Defined in:
lib/sugilite.rb

Overview

Get the user list from TMI all methods return arrays

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(channel) ⇒ GetUserList

New message



25
26
27
28
# File 'lib/sugilite.rb', line 25

def initialize(channel)
  # Users Channel
  @url = URI("https://tmi.twitch.tv/group/user/#{channel}/chatters")
end

Instance Attribute Details

#channelObject

Channel name.



22
23
24
# File 'lib/sugilite.rb', line 22

def channel
  @channel
end

Instance Method Details

#adminObject

lists any admins in channel



84
85
86
87
88
# File 'lib/sugilite.rb', line 84

def admin
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters').fetch('admins')
  userary
end

#allObject

list all users on channel



31
32
33
34
35
36
37
# File 'lib/sugilite.rb', line 31

def all
  userlist = []
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters')
  userary.keys.each { |k| userary[k].each { |user| userlist.push(user) } }
  userlist
end

#broadcasterObject

lists the broadcaster in channel



56
57
58
59
60
# File 'lib/sugilite.rb', line 56

def broadcaster
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters').fetch('broadcaster')
  userary
end

#global_modObject

lists any global moderators in channel (possibly depricated)



91
92
93
94
95
# File 'lib/sugilite.rb', line 91

def global_mod
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters').fetch('global_mods')
  userary
end

#moderatorObject

lists any moderators in channel



70
71
72
73
74
# File 'lib/sugilite.rb', line 70

def moderator
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters').fetch('moderators')
  userary
end

#randomObject

Pick a random viewer from all in channel.



47
48
49
50
51
52
53
# File 'lib/sugilite.rb', line 47

def random
  userlist = []
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters')
  userary.keys.each { |k| userary[k].each { |user| userlist.push(user) } }
  userlist.sample
end

#randomviewerObject

Pick a random viewer of your channel, with out any special ranks.



40
41
42
43
44
# File 'lib/sugilite.rb', line 40

def randomviewer
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters').fetch('viewers')
  userary.sample
end

#staffObject

lists any staff in channel



77
78
79
80
81
# File 'lib/sugilite.rb', line 77

def staff
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters').fetch('staff')
  userary
end

#viewerObject

lists viewers



98
99
100
101
102
# File 'lib/sugilite.rb', line 98

def viewer
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters').fetch('viewers')
  userary
end

#vipObject

lists any vips in channel



63
64
65
66
67
# File 'lib/sugilite.rb', line 63

def vip
  getchan = Net::HTTP.get(@url)
  userary = Oj.load(getchan).fetch('chatters').fetch('vips')
  userary
end