descartes 0.7 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,30 +1,30 @@
1
- # encoding: UTF-8
2
- ##
3
- ### DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
4
- ### Version 2, December 2004
5
- ###
6
- ### Everyone is permitted to copy and distribute verbatim or modified
7
- ### copies of this license document, and changing it is allowed as long
8
- ### as the name is changed.
9
- ###
10
- ### DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
11
- ### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
12
- ###
13
- ### 0. You just DO WHAT THE FUCK YOU WANT TO.
14
-
15
- require 'nokogiri'
16
- require 'open-uri'
17
-
18
- class Descartes
19
- class Dicteng
20
- include Cinch::Plugin
21
-
22
- match /!dict ([a-zA-Z]+) ([a-zA-Z]+)/, use_prefix: false
23
-
24
- def execute(m, action, word)
25
- url = "http://www.wordreference.com/#{action}/#{word}"
26
- page = Nokogiri::HTML open(url)
27
- m.reply "#{page.xpath('//table[@class="WRD"]/tr[2]').text} di più qui: #{url}"
28
- end
29
- end
30
- end
1
+ # encoding: UTF-8
2
+ ##
3
+ ### DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
4
+ ### Version 2, December 2004
5
+ ###
6
+ ### Everyone is permitted to copy and distribute verbatim or modified
7
+ ### copies of this license document, and changing it is allowed as long
8
+ ### as the name is changed.
9
+ ###
10
+ ### DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
11
+ ### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
12
+ ###
13
+ ### 0. You just DO WHAT THE FUCK YOU WANT TO.
14
+
15
+ require 'nokogiri'
16
+ require 'open-uri'
17
+
18
+ class Descartes
19
+ class Dicteng
20
+ include Cinch::Plugin
21
+
22
+ match /!dict ([a-zA-Z]+) ([a-zA-Z]+)/, use_prefix: false
23
+
24
+ def execute(m, action, word)
25
+ url = "http://www.wordreference.com/#{action}/#{word}"
26
+ page = Nokogiri::HTML open(url)
27
+ m.reply "#{page.xpath('//table[@class="WRD"]/tr[2]').text} di più qui: #{url}"
28
+ end
29
+ end
30
+ end
@@ -1,2 +1,2 @@
1
- api_key:
1
+ api_key:
2
2
  api_secret:
@@ -2,7 +2,6 @@ In una scala da 1 a 10 la tua petulanza meriterebbe un 9+.
2
2
  Cerchi forse consolazione, stolido humano?
3
3
  La tua stupidità scardina con violenza le mie tesi.
4
4
  Sembra che il tuo nome sia sinonimo di ignoranza e trivialità.
5
- Quello che voi chiamate 'chicco' o 'seme' riferendovi alla cariosside di frumento, non è altro che un frutto.
6
5
  Ciò che dico è già stato scritto affinché possa resistere al tempo come le rovine di antiche città.
7
6
  Ciò che ci circonda può sembrare casuale, ma in realtà è tutto calcolato e armonioso.
8
7
  L'unica risposta adatta all'ignoranza è senz'altro il silenzio.
@@ -23,8 +22,15 @@ Del doman non v'è certezza, meglio un BLOW che una carezza.
23
22
  Straordinario.
24
23
  Ma ovviamente.
25
24
  Dovresti metterti una tarantola in gola, scellerato.
26
- Ma un gran sticazzi, no eh?
25
+ Ma un gran sticazzi no, eh?
27
26
  Stai un po' zitto.
28
27
  Sei per caso RoxasShadow in incognito? Il faggometro ha segnato un picco.
29
- Figghiu i bottana
30
- Non contare su di me.
28
+ Figghiu i bottana.
29
+ Non contare su di me.
30
+ Non ti curar di loro, ma guarda e passa.
31
+ Gesù Iddio, interrompi questo scempio di neuroni.
32
+ Dovresti tenere le tue idiozie nei confini della tua sporca mente.
33
+ Un momento, mi sto dedicando al giardinaggio.
34
+ Le tue idee mi fanno perdere le staffe, manigoldo.
35
+ Nulla da dire a riguardo.
36
+ Dovrebbero privarti dell'uso delle dita.
@@ -1,19 +1,19 @@
1
- E così vuoi fare il fansubber? Quanto hai detto che porta di reggiseno la tua ragazza?
2
- He's the hero that your girlfriend deserves. But not the one she needs right now.
3
- Ma se gli FTF sono una grande famiglia, non è che il sindaco stava solo mettendo a letto la bambina?
4
- Sindaco-chan, mi hanno detto che ti sei portato due pigiamo a Pisa con la mia ragazza / Sì, Ptole-kun, ma stai tranquillo: non li abbiamo usati.
5
- One does not simply: sifon your girlfriend like Sindaco.
6
- One cannot simply have a girlfriend, if he is in FTF.
7
- I used to be a fansubber like you. Then I took a Ptole's girlfriend in the bed.
8
- I don't always sifon. But when I do, it's your girlfriend.
9
- Tisifone? No, Tisifono.
10
- http://i.imgur.com/B7gBq.jpg
11
- Ho chiesto alla fidanzata di Ptolemaios se mi aiutava a sistemare il tubo del lavandino che perdeva.
12
- http://i47.tinypic.com/fjj3gx.jpg
13
- Io dico solo che il Detective Conan è il motivo per cui il Giappone si meriterebbe un'altra bomba atomica.
14
- Ti farò lezioni di encode quando tua madre sarà in oncologia.
15
- Il Sindaco è comunista quanto Hitler / Si, forse un pochino di più / Nel senso che ha la passione in comune per il genocidio? / No, per le loli.
16
- La Ninna Nanna del Sindaco: Dormi dormi / bella bambina / che c'è il sindaco che s'avvicina. / Il letto traballa / e l'orsetto se la squaglia. / La mammina resta in cucina / e col babbo fa melina. / Basta solo che dal corridoio / non vedan la pelata di quell'avvoltoio.
17
- Il fansub italiano è ostaggio di un manipolo di lanzichenecchi.
18
- Nel mulino che vorrei, ragazza d'altri e pigiami miei.
1
+ E così vuoi fare il fansubber? Quanto hai detto che porta di reggiseno la tua ragazza?
2
+ He's the hero that your girlfriend deserves. But not the one she needs right now.
3
+ Ma se gli FTF sono una grande famiglia, non è che il sindaco stava solo mettendo a letto la bambina?
4
+ Sindaco-chan, mi hanno detto che ti sei portato due pigiamo a Pisa con la mia ragazza / Sì, Ptole-kun, ma stai tranquillo: non li abbiamo usati.
5
+ One does not simply: sifon your girlfriend like Sindaco.
6
+ One cannot simply have a girlfriend, if he is in FTF.
7
+ I used to be a fansubber like you. Then I took a Ptole's girlfriend in the bed.
8
+ I don't always sifon. But when I do, it's your girlfriend.
9
+ Tisifone? No, Tisifono.
10
+ http://i.imgur.com/B7gBq.jpg
11
+ Ho chiesto alla fidanzata di Ptolemaios se mi aiutava a sistemare il tubo del lavandino che perdeva.
12
+ http://i47.tinypic.com/fjj3gx.jpg
13
+ Io dico solo che il Detective Conan è il motivo per cui il Giappone si meriterebbe un'altra bomba atomica.
14
+ Ti farò lezioni di encode quando tua madre sarà in oncologia.
15
+ Il Sindaco è comunista quanto Hitler / Si, forse un pochino di più / Nel senso che ha la passione in comune per il genocidio? / No, per le loli.
16
+ La Ninna Nanna del Sindaco: Dormi dormi / bella bambina / che c'è il sindaco che s'avvicina. / Il letto traballa / e l'orsetto se la squaglia. / La mammina resta in cucina / e col babbo fa melina. / Basta solo che dal corridoio / non vedan la pelata di quell'avvoltoio.
17
+ Il fansub italiano è ostaggio di un manipolo di lanzichenecchi.
18
+ Nel mulino che vorrei, ragazza d'altri e pigiami miei.
19
19
  Ad Agosto, visto che vado a farmi un tour delle Repubbliche Baltiche, ci vorrà il pigiama?
@@ -1,49 +1,49 @@
1
- ##
2
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
- # Version 2, December 2004
4
- #
5
- # Everyone is permitted to copy and distribute verbatim or modified
6
- # copies of this license document, and changing it is allowed as long
7
- # as the name is changed.
8
- #
9
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
10
- # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
11
- #
12
- # 0. You just DO WHAT THE FUCK YOU WANT TO.
13
- ##
14
-
15
- require 'open-uri'
16
- require 'nokogiri'
17
- require 'cgi'
18
-
19
- class Descartes
20
- class Google
21
- include Cinch::Plugin
22
- match /google (.+)/
23
-
24
- def search(query)
25
- page = Nokogiri::HTML open("http://www.google.com/search?q=#{CGI.escape(query)}")
26
-
27
- [].tap { |res|
28
- page.search('cite').each { |r|
29
- res << { url: r.inner_text }
30
- }
31
-
32
- page.xpath('//h3[@class="r"]').each_with_index { |r, i|
33
- res[i][:title] = r.child.inner_text
34
- }
35
- }
36
- end
37
-
38
- def execute(m, query)
39
- res = search query
40
-
41
- if res.empty?
42
- # m.reply 'No results found.'
43
- m.reply 'Nessun risultato.'
44
- else
45
- res[0..3].each { |r| m.reply "#{r[:title]} - #{r[:url]}" }
46
- end
47
- end
48
- end
1
+ ##
2
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
+ # Version 2, December 2004
4
+ #
5
+ # Everyone is permitted to copy and distribute verbatim or modified
6
+ # copies of this license document, and changing it is allowed as long
7
+ # as the name is changed.
8
+ #
9
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
10
+ # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
11
+ #
12
+ # 0. You just DO WHAT THE FUCK YOU WANT TO.
13
+ ##
14
+
15
+ require 'open-uri'
16
+ require 'nokogiri'
17
+ require 'cgi'
18
+
19
+ class Descartes
20
+ class Google
21
+ include Cinch::Plugin
22
+ match /google (.+)/
23
+
24
+ def search(query)
25
+ page = Nokogiri::HTML open("http://www.google.com/search?q=#{CGI.escape(query)}")
26
+
27
+ [].tap { |res|
28
+ page.search('cite').each { |r|
29
+ res << { url: r.inner_text }
30
+ }
31
+
32
+ page.xpath('//h3[@class="r"]').each_with_index { |r, i|
33
+ res[i][:title] = r.child.inner_text
34
+ }
35
+ }
36
+ end
37
+
38
+ def execute(m, query)
39
+ res = search query
40
+
41
+ if res.empty?
42
+ # m.reply 'No results found.'
43
+ m.reply 'Nessun risultato.'
44
+ else
45
+ res[0..3].each { |r| m.reply "#{r[:title]} - #{r[:url]}" }
46
+ end
47
+ end
48
+ end
49
49
  end
@@ -1,91 +1,91 @@
1
- ##
2
- ## DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
- ## Version 2, December 2004
4
- ##
5
- ## Everyone is permitted to copy and distribute verbatim or modified
6
- ## copies of this license document, and changing it is allowed as long
7
- ## as the name is changed.
8
- ##
9
- ## DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
10
- ## TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
11
- ##
12
- ## 0. You just DO WHAT THE FUCK YOU WANT TO.
13
- ##
14
-
15
- require 'rockstar'
16
- require 'yaml'
17
- require 'fileutils'
18
-
19
- class Descartes
20
- class LastFm
21
- include Cinch::Plugin
22
-
23
- def authenticate!
24
- file = File.join $options[:dotfiles], 'lastfm_api.yml'
25
- Rockstar.lastfm = YAML.load_file file
26
- end
27
-
28
- def get_lastfm_nicks_archive
29
- file = File.join $options[:dotfiles], 'lastfm_nicks.yml'
30
- FileUtils.touch file unless File.exists? file
31
- YAML.load_file(file) || {}
32
- end
33
-
34
- match 'lastsong', method: :last_played_song
35
- def last_played_song(m)
36
- authenticate!
37
-
38
- usernick = m.user.nick
39
- lastfmnick = get_lastfm_nicks_archive[usernick]
40
- m.reply "Hey #{usernick.colorize}, I don't know your Last.fm nick. add it using '!lastfmuser add <lastfmnick>'." unless lastfmnick
41
-
42
- user = Rockstar::User.new lastfmnick
43
- track = user.recent_tracks.first
44
-
45
- album = track.album.empty? ? 'in no known album' : "in #{track.album.colorize}"
46
- if track.now_playing?
47
- m.reply "#{lastfmnick.colorize} is listening to #{track.name.colorize} by #{track.artist.colorize} (#{album}) right now!"
48
- else
49
- m.reply "The last song #{lastfmnick.colorize} listened to is #{track.name.colorize} by #{track.artist.colorize} (#{album})."
50
- end
51
- end
52
-
53
- match /lastfmuser add (\w{1,15})/, method: :add_user
54
- def add_user(m, lastfmnick)
55
- nicks = get_lastfm_nicks_archive
56
- nicks[m.user.nick] = lastfmnick
57
-
58
- file = File.join $options[:dotfiles], 'lastfm_nicks.yml'
59
- File.open(file, ?w) { |f| f.write YAML.dump(nicks) }
60
-
61
- m.reply "Ok, added user #{lastfmnick}."
62
- end
63
-
64
- match /lastfmuser remove (\w{1,15})/, method: :remove_user
65
- def remove_user(m, lastfmnick)
66
- nicks = get_lastfm_nicks_archive
67
- nicks.delete lastfmnick
68
-
69
- file = File.join $options[:dotfiles], 'lastfm_nicks.yml'
70
- File.open(file, ?w) { |f| f.write YAML.dump(nicks) }
71
-
72
- m.reply "Ok, removed user #{lastfmnick}."
73
- end
74
-
75
- match /lastfmuser show ([^\b]+)/, method: :show_relations
76
- def show_relations(m, usernicks)
77
- usernick_list = usernicks.split
78
- found = false
79
-
80
- get_lastfm_nicks_archive.each { |usernick, lastfmnick|
81
- if usernick_list.include? usernick
82
- found = true
83
- m.reply "#{usernick} is known as #{lastfmnick}."
84
- end
85
- }
86
-
87
- m.reply 'I don\'t know anthing, I know only what I know.' unless found
88
- end
89
-
90
- end
91
- end
1
+ ##
2
+ ## DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
+ ## Version 2, December 2004
4
+ ##
5
+ ## Everyone is permitted to copy and distribute verbatim or modified
6
+ ## copies of this license document, and changing it is allowed as long
7
+ ## as the name is changed.
8
+ ##
9
+ ## DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
10
+ ## TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
11
+ ##
12
+ ## 0. You just DO WHAT THE FUCK YOU WANT TO.
13
+ ##
14
+
15
+ require 'rockstar'
16
+ require 'yaml'
17
+ require 'fileutils'
18
+
19
+ class Descartes
20
+ class LastFm
21
+ include Cinch::Plugin
22
+
23
+ def authenticate!
24
+ file = File.join $options[:dotfiles], 'lastfm_api.yml'
25
+ Rockstar.lastfm = YAML.load_file file
26
+ end
27
+
28
+ def get_lastfm_nicks_archive
29
+ file = File.join $options[:dotfiles], 'lastfm_nicks.yml'
30
+ FileUtils.touch file unless File.exists? file
31
+ YAML.load_file(file) || {}
32
+ end
33
+
34
+ match 'lastsong', method: :last_played_song
35
+ def last_played_song(m)
36
+ authenticate!
37
+
38
+ usernick = m.user.nick
39
+ lastfmnick = get_lastfm_nicks_archive[usernick]
40
+ m.reply "Hey #{usernick.colorize}, I don't know your Last.fm nick. add it using '!lastfmuser add <lastfmnick>'." unless lastfmnick
41
+
42
+ user = Rockstar::User.new lastfmnick
43
+ track = user.recent_tracks.first
44
+
45
+ album = track.album.empty? ? 'in no known album' : "in #{track.album.colorize}"
46
+ if track.now_playing?
47
+ m.reply "#{lastfmnick.colorize} is listening to #{track.name.colorize} by #{track.artist.colorize} (#{album}) right now!"
48
+ else
49
+ m.reply "The last song #{lastfmnick.colorize} listened to is #{track.name.colorize} by #{track.artist.colorize} (#{album})."
50
+ end
51
+ end
52
+
53
+ match /lastfmuser add (\w{1,15})/, method: :add_user
54
+ def add_user(m, lastfmnick)
55
+ nicks = get_lastfm_nicks_archive
56
+ nicks[m.user.nick] = lastfmnick
57
+
58
+ file = File.join $options[:dotfiles], 'lastfm_nicks.yml'
59
+ File.open(file, ?w) { |f| f.write YAML.dump(nicks) }
60
+
61
+ m.reply "Ok, added user #{lastfmnick}."
62
+ end
63
+
64
+ match /lastfmuser remove (\w{1,15})/, method: :remove_user
65
+ def remove_user(m, lastfmnick)
66
+ nicks = get_lastfm_nicks_archive
67
+ nicks.delete lastfmnick
68
+
69
+ file = File.join $options[:dotfiles], 'lastfm_nicks.yml'
70
+ File.open(file, ?w) { |f| f.write YAML.dump(nicks) }
71
+
72
+ m.reply "Ok, removed user #{lastfmnick}."
73
+ end
74
+
75
+ match /lastfmuser show ([^\b]+)/, method: :show_relations
76
+ def show_relations(m, usernicks)
77
+ usernick_list = usernicks.split
78
+ found = false
79
+
80
+ get_lastfm_nicks_archive.each { |usernick, lastfmnick|
81
+ if usernick_list.include? usernick
82
+ found = true
83
+ m.reply "#{usernick} is known as #{lastfmnick}."
84
+ end
85
+ }
86
+
87
+ m.reply 'I don\'t know anthing, I know only what I know.' unless found
88
+ end
89
+
90
+ end
91
+ end
@@ -1,34 +1,34 @@
1
- ##
2
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
- # Version 2, December 2004
4
- #
5
- # Everyone is permitted to copy and distribute verbatim or modified
6
- # copies of this license document, and changing it is allowed as long
7
- # as the name is changed.
8
- #
9
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
10
- # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
11
- #
12
- # 0. You just DO WHAT THE FUCK YOU WANT TO.
13
- ##
14
-
15
- require 'open-uri'
16
- require 'nokogiri'
17
-
18
- class Descartes
19
- class MusicToughts
20
- include Cinch::Plugin
21
- match 'music'
22
-
23
- def execute(m)
24
- lang = { 'Cookie' => 'lang=it' }
25
- page = Nokogiri::HTML open('http://musicthoughts.com/t', lang)
26
-
27
- quote = page.at_xpath('//blockquote//q').text.strip
28
- author = page.at_xpath('//blockquote//cite').text.strip
29
-
30
- m.reply quote
31
- m.reply "- #{author}"
32
- end
33
- end
1
+ ##
2
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
+ # Version 2, December 2004
4
+ #
5
+ # Everyone is permitted to copy and distribute verbatim or modified
6
+ # copies of this license document, and changing it is allowed as long
7
+ # as the name is changed.
8
+ #
9
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
10
+ # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
11
+ #
12
+ # 0. You just DO WHAT THE FUCK YOU WANT TO.
13
+ ##
14
+
15
+ require 'open-uri'
16
+ require 'nokogiri'
17
+
18
+ class Descartes
19
+ class MusicToughts
20
+ include Cinch::Plugin
21
+ match 'music'
22
+
23
+ def execute(m)
24
+ lang = { 'Cookie' => 'lang=it' }
25
+ page = Nokogiri::HTML open('http://musicthoughts.com/t', lang)
26
+
27
+ quote = page.at_xpath('//blockquote//q').text.strip
28
+ author = page.at_xpath('//blockquote//cite').text.strip
29
+
30
+ m.reply quote
31
+ m.reply "- #{author}"
32
+ end
33
+ end
34
34
  end