qwtf_discord_bot 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc84e11371480f598813279fc0187c53c9241fddd123bbf28aae6ab88a477cbf
4
- data.tar.gz: 7c464e592963d05acacbb7031202ee00cf4d3d347a953240120d77a385a2c4b1
3
+ metadata.gz: ef799a9699bf7b62c4435d87c07caf0f231eb742bf8e5e93a2ae1669c5cc69c0
4
+ data.tar.gz: '059ff5da336b962f96c0e1018127ed990ff866136cc4293ab2772a1ec388bcb5'
5
5
  SHA512:
6
- metadata.gz: cbd3c2355a8e9632ea791d09f44f8b85c08d6600d4f0de345adb9469bc8bd2387b6be15278128a75d08954228c18ad2ff302e638f934bed869863b8ac5c4fdee
7
- data.tar.gz: ef4459c97b80fe085dfa0b7530bea692afda1ee0b1c36b1333d43dadd6897db684b4403e03b7fe6340d93fb8d6fc7aced9926af8cc4e32f681aed9dd98b6ad3c
6
+ metadata.gz: f0121efb30344cba06f9c8aa9f0f73d1fcaea839c47a62ad672eed95656ef788e80e82f26400caa7adeb4b42cec2e85df30e75ea23484c965345c27e3d21d1b1
7
+ data.tar.gz: fba25ccac611e95db804200810a3a8eb512eb4598327a052d6ba6c4371071c2ecf9dbece198fe0ed3894510b43d54dbcfd4ba7c8333f83b26ed227f953d37bb2
data/Gemfile CHANGED
@@ -5,4 +5,11 @@ gemspec
5
5
  gem 'bundler'
6
6
  gem 'discordrb'
7
7
  gem 'thor'
8
- gem 'rspec'
8
+
9
+ group :development do
10
+ gem 'pry'
11
+ end
12
+
13
+ group :test do
14
+ gem 'rspec'
15
+ end
data/Gemfile.lock CHANGED
@@ -1,11 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qwtf_discord_bot (0.5.0)
4
+ qwtf_discord_bot (0.5.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
+ coderay (1.1.2)
9
10
  diff-lcs (1.3)
10
11
  discordrb (3.2.1)
11
12
  discordrb-webhooks (~> 3.2.0.1)
@@ -21,12 +22,16 @@ GEM
21
22
  ffi (1.9.25)
22
23
  http-cookie (1.0.3)
23
24
  domain_name (~> 0.5)
25
+ method_source (0.9.0)
24
26
  mime-types (3.2.2)
25
27
  mime-types-data (~> 3.2015)
26
28
  mime-types-data (3.2018.0812)
27
29
  netrc (0.11.0)
28
30
  opus-ruby (1.0.1)
29
31
  ffi
32
+ pry (0.11.3)
33
+ coderay (~> 1.1.0)
34
+ method_source (~> 0.9.0)
30
35
  rbnacl (3.4.0)
31
36
  ffi
32
37
  rest-client (2.0.2)
@@ -61,6 +66,7 @@ PLATFORMS
61
66
  DEPENDENCIES
62
67
  bundler
63
68
  discordrb
69
+ pry
64
70
  qwtf_discord_bot!
65
71
  rspec
66
72
  thor
data/lib/qstat_request.rb CHANGED
@@ -6,28 +6,41 @@ class QstatRequest
6
6
 
7
7
  def teams
8
8
  @teams ||= begin
9
+ return nil unless has_players?
10
+
9
11
  roster = {}
12
+
10
13
  teams = players.map(&:team).uniq
11
14
  teams.each { |team| roster[team] = [] }
12
15
 
13
16
  players.each do |player|
14
17
  roster[player.team] << player
15
18
  end
19
+
16
20
  roster
17
21
  end
18
22
  end
19
23
 
20
- def output
24
+ def to_message
21
25
  return server_summary unless has_players?
22
26
  [server_summary, player_table].join("\n")
23
27
  end
24
28
 
25
29
  def to_embed
30
+ return nil unless has_players?
31
+
26
32
  embed = Discordrb::Webhooks::Embed.new
33
+
27
34
  teams.each do |team, players|
28
35
  player_list = players.map(&:to_row).join('\n')
29
36
  score = players.first.score
30
- field_name = "#{team} #{score}"
37
+
38
+ case
39
+ when team.empty? then field_name = "No Team"
40
+ when score < 0 then field_name = "#{team.capitalize}"
41
+ when score >= 0 then field_name = "#{team.capitalize} | #{score}"
42
+ end
43
+
31
44
  embed.add_field(Discordrb::Webhooks::EmbedField.new(inline: true, name: field_name, value: player_list))
32
45
  end
33
46
 
@@ -35,11 +48,12 @@ class QstatRequest
35
48
  end
36
49
 
37
50
  def server_summary
51
+ return "#{@endpoint} isn't responding" unless game_map
38
52
  "#{@endpoint} | #{game_map} | #{numplayers}/#{maxplayers}"
39
53
  end
40
54
 
41
55
  def has_players?
42
- @data["players"] || false
56
+ @data["player"] && @data["players"].any?
43
57
  end
44
58
 
45
59
  def player_names
@@ -1,3 +1,5 @@
1
+ require 'pry'
2
+
1
3
  class QwtfDiscordBotServer < QwtfDiscordBot
2
4
  def run
3
5
  bot = Discordrb::Commands::CommandBot.new(
@@ -11,7 +13,11 @@ class QwtfDiscordBotServer < QwtfDiscordBot
11
13
  message = qstat_request.server_summary
12
14
  embed = qstat_request.to_embed
13
15
 
14
- event.channel.send_embed(message, embed)
16
+ if embed
17
+ event.channel.send_embed(message, embed)
18
+ else
19
+ event.channel.send_message(message)
20
+ end
15
21
  end
16
22
 
17
23
  bot.run
@@ -1,3 +1,3 @@
1
1
  class QwtfDiscordBot
2
- VERSION = '0.5.1'.freeze
2
+ VERSION = '0.5.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qwtf_discord_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sheldon Johnson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-13 00:00:00.000000000 Z
11
+ date: 2018-08-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A Discord bot for reporting on QuakeWorld Team Fortress game servers
14
14
  email: