lita-resistance 0.0.1 → 0.1.0
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 +4 -4
- data/.travis.yml +8 -8
- data/Gemfile +1 -1
- data/lib/lita/handlers/resistance.rb +62 -61
- data/lita-resistance.gemspec +26 -26
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cfd0b6849abf7617ce8305c56a2b0f71e120089
|
4
|
+
data.tar.gz: e0543a6a2c1d80cdb57d5bedfc6347486128d0ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d092620936498b58b19e2ef2d6f35db8aec4254b8c417b9a0428c27eafaecb58f7d10675bf5823c4b4333e190bf109799c721ee2defcbdac1d7bc50ff44ed772
|
7
|
+
data.tar.gz: 778f6cd666339883a2f7257d5276808fcc2e45d72ea313ed0a5c8845750683e6de4083ae4682bc24d6c5f785e14b78e0ddfcc7dd878aadde950313109b82e940
|
data/.travis.yml
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
- 2.
|
4
|
-
script: bundle exec rake
|
5
|
-
before_install:
|
6
|
-
- gem update --system
|
7
|
-
services:
|
8
|
-
- redis-server
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 2.2.3
|
4
|
+
script: bundle exec rake
|
5
|
+
before_install:
|
6
|
+
- gem update --system 2.4.8
|
7
|
+
services:
|
8
|
+
- redis-server
|
data/Gemfile
CHANGED
@@ -1,61 +1,62 @@
|
|
1
|
-
module Lita
|
2
|
-
module Handlers
|
3
|
-
class Resistance < Handler
|
4
|
-
|
5
|
-
route(/resistance .+/, :play, command: true, help: {'resistance [users]' => 'Starts a game of resistance with the people you mention.'})
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
end
|
1
|
+
module Lita
|
2
|
+
module Handlers
|
3
|
+
class Resistance < Handler
|
4
|
+
|
5
|
+
route(/resistance .+/, :play, command: true, help: {'resistance [users]' => 'Starts a game of resistance with the people you mention.'})
|
6
|
+
def play(response)
|
7
|
+
all_users = response.args.uniq
|
8
|
+
|
9
|
+
if all_users.length < 5
|
10
|
+
response.reply('You need at least 5 players for Resistance.')
|
11
|
+
return
|
12
|
+
elsif all_users.length > 10
|
13
|
+
response.reply('You cannot play a game of Resistance with more than 10 players.')
|
14
|
+
return
|
15
|
+
end
|
16
|
+
|
17
|
+
# Remove any "@" from usernames
|
18
|
+
all_users.map! {|username|
|
19
|
+
if username[0] == '@'
|
20
|
+
username = username[1, username.length-1]
|
21
|
+
else
|
22
|
+
username = username
|
23
|
+
end
|
24
|
+
}
|
25
|
+
|
26
|
+
# Ensure all people are users.
|
27
|
+
unknown_users = []
|
28
|
+
all_users.each do |username|
|
29
|
+
user = Lita::User.find_by_mention_name(username)
|
30
|
+
unknown_users.push(username) unless user
|
31
|
+
end
|
32
|
+
|
33
|
+
if unknown_users.any?
|
34
|
+
response.reply('The following are not users. Please check your spelling and try again.')
|
35
|
+
unknown_users.each do |user|
|
36
|
+
response.reply(user)
|
37
|
+
end and return
|
38
|
+
end
|
39
|
+
|
40
|
+
gameId = rand(999999)
|
41
|
+
|
42
|
+
# Form teams
|
43
|
+
spies = all_users.sample((all_users.length+2)/3)
|
44
|
+
resistance = all_users - spies
|
45
|
+
|
46
|
+
spies.each do |member|
|
47
|
+
user = Lita::User.find_by_mention_name(member)
|
48
|
+
robot.send_message(Source.new(user: user),"@#{response.user.mention_name} has started game ID##{gameId} of Resistance. You are a member of the spies.")
|
49
|
+
end
|
50
|
+
|
51
|
+
resistance.each do |member|
|
52
|
+
user = Lita::User.find_by_mention_name(member)
|
53
|
+
robot.send_message(Source.new(user: user), "@#{response.user.mention_name} has started game ID##{gameId} of Resistance. You are a member of the resistance.")
|
54
|
+
end
|
55
|
+
|
56
|
+
response.reply("Roles have been assigned to the selected people! This is game ID##{gameId}")
|
57
|
+
end
|
58
|
+
|
59
|
+
Lita.register_handler(self)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lita-resistance.gemspec
CHANGED
@@ -1,26 +1,26 @@
|
|
1
|
-
Gem::Specification.new do |spec|
|
2
|
-
spec.name = "lita-resistance"
|
3
|
-
spec.version = "0.0
|
4
|
-
spec.authors = ["Deon Hua"]
|
5
|
-
spec.email = ["deonhbci@gmail.com"]
|
6
|
-
spec.description = "Plays a game of resistance by assigning roles to users you mention in chat."
|
7
|
-
spec.summary = "Plays a game of resistance by assigning roles to users you mention in chat."
|
8
|
-
spec.homepage = "http://github.com/DeonHua/lita-resistance"
|
9
|
-
spec.license = "MIT"
|
10
|
-
spec.metadata = { "lita_plugin_type" => "handler" }
|
11
|
-
|
12
|
-
spec.files = `git ls-files`.split($/)
|
13
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
14
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
|
-
spec.require_paths = ["lib"]
|
16
|
-
|
17
|
-
spec.add_runtime_dependency "lita", ">= 4.6"
|
18
|
-
|
19
|
-
spec.add_development_dependency "bundler", "~> 1.3"
|
20
|
-
spec.add_development_dependency "pry-byebug"
|
21
|
-
spec.add_development_dependency "rake"
|
22
|
-
spec.add_development_dependency "rack-test"
|
23
|
-
spec.add_development_dependency "rspec", ">= 3.0.0"
|
24
|
-
spec.add_development_dependency "simplecov"
|
25
|
-
spec.add_development_dependency "coveralls"
|
26
|
-
end
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-resistance"
|
3
|
+
spec.version = "0.1.0"
|
4
|
+
spec.authors = ["Deon Hua"]
|
5
|
+
spec.email = ["deonhbci@gmail.com"]
|
6
|
+
spec.description = "Plays a game of resistance by assigning roles to users you mention in chat."
|
7
|
+
spec.summary = "Plays a game of resistance by assigning roles to users you mention in chat."
|
8
|
+
spec.homepage = "http://github.com/DeonHua/lita-resistance"
|
9
|
+
spec.license = "MIT"
|
10
|
+
spec.metadata = { "lita_plugin_type" => "handler" }
|
11
|
+
|
12
|
+
spec.files = `git ls-files`.split($/)
|
13
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
14
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
|
+
spec.require_paths = ["lib"]
|
16
|
+
|
17
|
+
spec.add_runtime_dependency "lita", ">= 4.6"
|
18
|
+
|
19
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
20
|
+
spec.add_development_dependency "pry-byebug"
|
21
|
+
spec.add_development_dependency "rake"
|
22
|
+
spec.add_development_dependency "rack-test"
|
23
|
+
spec.add_development_dependency "rspec", ">= 3.0.0"
|
24
|
+
spec.add_development_dependency "simplecov"
|
25
|
+
spec.add_development_dependency "coveralls"
|
26
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-resistance
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Deon Hua
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|