botemon 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NjQzYmM4Yzk4MmVmN2FiNjA1MzdhZmQ0NzU2MWQzN2MwNmI3YTAyNg==
5
- data.tar.gz: !binary |-
6
- M2JjNmU0NmQ5ZjVhMzQyNzk4ZWQyMjI3YmUzYmU2MzZhMTdlZDQ5ZA==
7
- !binary "U0hBNTEy":
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 = Pokedex.id2name(name) if name.numeric?
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 = Pokedex.id2name(name) if name.numeric?
61
+ name = Smogon::Pokemon.id2name(name) if name.numeric?
61
62
 
62
- move = Movedex.get name
63
- m.reply move ? "#{move.to_s}\n#{move.url}".split("\n").map { |l| Format(:red, l) }.join("\n") : Format(:red, 'Move not found.')
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 = Pokedex.id2name(name) if name.numeric?
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 Pokedex.id2name(Random.new.rand(1..649)), @storage
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
- m.reply @pokemon_trivia.clues.split("\n").map { |l| Format(:red, l) }.join("\n")
90
- m.reply Format(:red, "You have 3 chances to try to say which Pokémon is this!")
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 (.+)$/ do |m, pokemon|
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, 'VAI A ZAPPARE LA TERRA')
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
@@ -19,7 +19,6 @@
19
19
 
20
20
  class Abilitydex
21
21
  def self.get(name)
22
- return nil if name == nil
23
- return Smogon::Abilitydex.get name
22
+ return name ? Smogon::Abilitydex.get(name) : nil
24
23
  end
25
24
  end
@@ -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 nil if name == nil || tier == nil
31
- return Smogon::Movesetdex.get name, tier
22
+ return name && tier ? Smogon::Movesetdex.get(name, tier) : nil
32
23
  end
33
24
  end
@@ -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
- if storage.is_cached?(name)
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
- return pokemon
39
- end
28
+ }
40
29
  end
41
30
  end
@@ -18,7 +18,13 @@
18
18
  #++
19
19
 
20
20
  class String
21
+
21
22
  def numeric?
22
23
  self.to_i.to_s == self || self.to_f.to_s == self
23
24
  end
25
+
26
+ def oper?(c)
27
+ bot.channels.each { |c| return true if c.ops.include? self }
28
+ end
29
+
24
30
  end
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Botemon
21
21
  def self.version
22
- '0.4.1'
22
+ '0.4.2'
23
23
  end
24
24
  end
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.1
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-12 00:00:00.000000000 Z
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.4
122
+ rubygems_version: 2.0.3
123
123
  signing_key:
124
124
  specification_version: 4
125
125
  summary: IRC bot for pokéfag.