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 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.