qwtf_discord_bot 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: