botemon 0.4.1 → 0.4.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 +6 -14
- data/bin/botemon +39 -11
- data/lib/botemon/abilitydex.rb +1 -2
- data/lib/botemon/movesetdex.rb +2 -11
- data/lib/botemon/pokedex.rb +4 -15
- data/lib/botemon/string.rb +6 -0
- data/lib/botemon/version.rb +1 -1
- metadata +15 -15
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
Y2U3ZTliZjRmMzdlYWU1NDk2NTg4NGVhNTMzMTEwOWI4ZGNjMDU3NDYyMjk5
|
10
|
-
ZThjNWI3MTFjNWM3MWJlNmRhMWYyZjMwNDE3YWNmYTgxNTczNDA1ZDM5MDQz
|
11
|
-
ZDBhOTliMWZmNzRjNjYzZTkzYjFhMTVhMmZhOWYyMjJiZWIxYzQ=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YjI2YWQ0MGM3YzZhNjEyNzI5YjcxMDY0MDVhMmMwNDI1ZDAzNDM0ZDJhMTQ5
|
14
|
-
OWQ0ZmQ1ZGVhNTNjMzBiOGZiMmE5NjgxNGFmMjA1YzFjNjg3OTU0ZTAwZDZi
|
15
|
-
ODk1ZDJhMTUwYTJkNTQyNWNjNDFiMjdhNDZiNzg5ZjY0MzNlMjA=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8719a656f8d54deafe96a02776081f6a78b716da
|
4
|
+
data.tar.gz: 94fb5c19c2b5b9466f9744eae7a373e9359e3949
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1a72a494758509d1f3e815813ea00a213210d7f9f507e8aa702dfa18d41c18391759cee95c1f08eeffa908c863c6f4114ae161a885898d08865c2b90498314d0
|
7
|
+
data.tar.gz: 91e42103058216708a654968d402e91a796ad3ade9ecc169ce4aa170a19f8875f0e93e055b40458bfa7d6d9f9e81318e3e18f0a46d6b03f16b9a6b10add73b11
|
data/bin/botemon
CHANGED
@@ -45,7 +45,7 @@ Cinch::Bot.new {
|
|
45
45
|
on :message, /^pkmn (.+)/ do |m, name|
|
46
46
|
@storage = Storage.new('./cache.db') unless @storage
|
47
47
|
|
48
|
-
name =
|
48
|
+
name = Smogon::Pokemon.id2name(name) if name.numeric?
|
49
49
|
|
50
50
|
pokemon = Pokedex.get name, @storage
|
51
51
|
m.reply pokemon ? "#{pokemon.to_s}\n#{pokemon.url}".split("\n").map { |l| Format(:red, l) }.join("\n") : Format(:red, 'Pokémon not found.')
|
@@ -53,18 +53,23 @@ Cinch::Bot.new {
|
|
53
53
|
|
54
54
|
on :message, /^ability (.+)/ do |m, name|
|
55
55
|
ability = Abilitydex.get name
|
56
|
+
|
56
57
|
m.reply ability ? "#{ability.to_s}\n#{ability.url}".split("\n").map { |l| Format(:red, l) }.join("\n") : Format(:red, 'Ability not found.')
|
57
58
|
end
|
58
59
|
|
59
60
|
on :message, /^move (.+)/ do |m, name|
|
60
|
-
name =
|
61
|
+
name = Smogon::Pokemon.id2name(name) if name.numeric?
|
61
62
|
|
62
|
-
|
63
|
-
|
63
|
+
if name
|
64
|
+
move = Movedex.get name
|
65
|
+
m.reply move ? "#{move.to_s}\n#{move.url}".split("\n").map { |l| Format(:red, l) }.join("\n") : Format(:red, 'Move not found.')
|
66
|
+
else
|
67
|
+
m.reply Format(:red, 'An error is occurred searching the Pokémon.')
|
68
|
+
end
|
64
69
|
end
|
65
70
|
|
66
71
|
on :message, /^moveset (.+) (.+)/ do |m, name, tier|
|
67
|
-
name =
|
72
|
+
name = Smogon::Pokemon.id2name(name) if name.numeric?
|
68
73
|
|
69
74
|
movesets = Movesetdex.get name, tier
|
70
75
|
if movesets != nil || movesets.any?
|
@@ -82,16 +87,20 @@ Cinch::Bot.new {
|
|
82
87
|
m.reply Format(:red, 'Other players are playing, wait until they finish.')
|
83
88
|
m.reply Format(:red, @pokemon_trivia.clues)
|
84
89
|
else
|
85
|
-
@pokemon_trivia = Pokedex.get
|
90
|
+
@pokemon_trivia = Pokedex.get Smogon::Pokemon.id2name(Random.new.rand(1..649)), @storage
|
86
91
|
@trivia_owner = m.user.nick
|
87
92
|
@trivia_wrong = 0
|
88
93
|
|
89
|
-
|
90
|
-
|
94
|
+
if @pokemon_trivia
|
95
|
+
m.reply @pokemon_trivia.clues.split("\n").map { |l| Format(:red, l) }.join("\n")
|
96
|
+
m.reply Format(:red, 'You have 3 chances to try to say which Pokémon is this!')
|
97
|
+
else
|
98
|
+
m.reply Format(:red, 'An error is occurred searching the Pokémon.')
|
99
|
+
end
|
91
100
|
end
|
92
101
|
end
|
93
102
|
|
94
|
-
on :message, /^pktrivia (.+)
|
103
|
+
on :message, /^pktrivia (.+)/ do |m, pokemon|
|
95
104
|
if @pokemon_trivia == nil
|
96
105
|
m.reply Format(:red, 'You have to start the game before to play.')
|
97
106
|
elsif pokemon.downcase == @pokemon_trivia.name.downcase
|
@@ -115,6 +124,8 @@ Cinch::Bot.new {
|
|
115
124
|
@trivia_owner = ''
|
116
125
|
@trivia_wrong = 0
|
117
126
|
m.reply Format(:red, "Game aborted by #{m.user.nick}.")
|
127
|
+
elsif @pokemon_trivia == nil
|
128
|
+
m.reply Format(:red, 'Game not started.')
|
118
129
|
else
|
119
130
|
m.reply Format(:red, "Only ops and the game luncher can stop the game. #{m.user.nick} GTFO.")
|
120
131
|
end
|
@@ -126,11 +137,28 @@ Cinch::Bot.new {
|
|
126
137
|
elsif m.user.nick == 'mirkosp' || m.user.nick == 'RoxasShadowRS'
|
127
138
|
m.reply Format(:red, @pokemon_trivia.name)
|
128
139
|
else
|
129
|
-
m.reply Format(:red,
|
140
|
+
m.reply Format(:red, "GO TO DIG THE EARTH #{m.user.nick} ヽ(`Д´)ノ ┻━┻")
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
on :message, /^pkcache$/ do |m|
|
145
|
+
if m.user.nick.oper? c
|
146
|
+
File.delete('./cache.db') if File.exists? './cache.db'
|
147
|
+
|
148
|
+
@storage = Storage.new './cache.db'
|
149
|
+
@pokemon_trivia = nil
|
150
|
+
@players = []
|
151
|
+
@trivia_owner = ''
|
152
|
+
@trivia_wrong = 0
|
153
|
+
|
154
|
+
m.reply Format(:red, 'Cache created.')
|
155
|
+
else
|
156
|
+
m.reply Format(:red, "Only ops can create the cache. #{m.user.nick} GTFO.")
|
130
157
|
end
|
131
158
|
end
|
132
159
|
|
133
160
|
on :message, /^pkversion$/ do |m|
|
134
|
-
m.reply Format(:red, Botemon::version)
|
161
|
+
m.reply Format(:red, "Botémon: #{Botemon::version}")
|
162
|
+
m.reply Format(:red, "Smogon-API: #{Smogon::version}")
|
135
163
|
end
|
136
164
|
}.start
|
data/lib/botemon/abilitydex.rb
CHANGED
data/lib/botemon/movesetdex.rb
CHANGED
@@ -17,17 +17,8 @@
|
|
17
17
|
# along with Botémon. If not, see <http://www.gnu.org/licenses/>.
|
18
18
|
#++
|
19
19
|
|
20
|
-
class Movesetdex
|
21
|
-
def self.id2name(id)
|
22
|
-
return begin
|
23
|
-
Nokogiri::HTML(open("http://pokemondb.net/pokedex/#{id}")).xpath('//div[@class="navbar"]/h1')[0].text
|
24
|
-
rescue
|
25
|
-
nil
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
20
|
+
class Movesetdex
|
29
21
|
def self.get(name, tier)
|
30
|
-
return
|
31
|
-
return Smogon::Movesetdex.get name, tier
|
22
|
+
return name && tier ? Smogon::Movesetdex.get(name, tier) : nil
|
32
23
|
end
|
33
24
|
end
|
data/lib/botemon/pokedex.rb
CHANGED
@@ -17,25 +17,14 @@
|
|
17
17
|
# along with Botémon. If not, see <http://www.gnu.org/licenses/>.
|
18
18
|
#++
|
19
19
|
|
20
|
-
class Pokedex
|
21
|
-
def self.id2name(id)
|
22
|
-
begin
|
23
|
-
return Nokogiri::HTML(open("http://pokemondb.net/pokedex/#{id}")).xpath('//div[@class="navbar"]/h1')[0].text
|
24
|
-
rescue
|
25
|
-
return nil
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
20
|
+
class Pokedex
|
29
21
|
def self.get(name, storage)
|
30
22
|
return nil if name == nil
|
23
|
+
return storage.get(name) if storage.is_cached? name
|
31
24
|
|
32
|
-
|
33
|
-
return storage.get name
|
34
|
-
else
|
35
|
-
pokemon = Smogon::Pokedex.get name
|
25
|
+
return Smogon::Pokedex.get(name).tap { |pokemon|
|
36
26
|
storage.add pokemon
|
37
27
|
storage.save
|
38
|
-
|
39
|
-
end
|
28
|
+
}
|
40
29
|
end
|
41
30
|
end
|
data/lib/botemon/string.rb
CHANGED
data/lib/botemon/version.rb
CHANGED
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: botemon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Giovanni Capuano
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sanitize
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: cinch
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: cinch-login
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: smogon
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
description: IRC bot for pokéfag with (Poké|Ability|Move|Moveset)dex and a trivia
|
@@ -109,17 +109,17 @@ require_paths:
|
|
109
109
|
- lib
|
110
110
|
required_ruby_version: !ruby/object:Gem::Requirement
|
111
111
|
requirements:
|
112
|
-
- -
|
112
|
+
- - '>='
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: '0'
|
115
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- -
|
117
|
+
- - '>='
|
118
118
|
- !ruby/object:Gem::Version
|
119
119
|
version: '0'
|
120
120
|
requirements: []
|
121
121
|
rubyforge_project:
|
122
|
-
rubygems_version: 2.0.
|
122
|
+
rubygems_version: 2.0.3
|
123
123
|
signing_key:
|
124
124
|
specification_version: 4
|
125
125
|
summary: IRC bot for pokéfag.
|