rateless_bot 0.1.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -2
- data/Gemfile.lock +49 -0
- data/LICENSE.txt +1 -1
- data/README.md +4 -14
- data/exe/rateless_bot +47 -6
- data/lib/rateless_bot/bot.rb +1 -1
- data/lib/rateless_bot/plugins/lastfm.rb +28 -0
- data/lib/rateless_bot/version.rb +1 -1
- data/rateless_bot.gemspec +2 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d306de6ccac07468a7fb019147f9af6ddb274f3
|
4
|
+
data.tar.gz: ce52ba39ab6a7b75c9cd898fe821485b5fc8a48f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f33192e7cf9bec0ffdcdd63a885feec37850ab33b5558e7a2f4dfdd6747033a4b8f9e773555bebabd9c57f88876f46390db35e2594256207d6ffd3597a34116
|
7
|
+
data.tar.gz: ff9c4ffd5a5dbcf2c2096101734bed97249ac5920a9aa32c07b84585781e16972c4b3bbe309c3169ec2c362d56bfde832d1522ccfc86d28cd855b5ad52da076a
|
data/.gitignore
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
rateless_bot (0.2.0)
|
5
|
+
cinch
|
6
|
+
lastfm
|
7
|
+
video_info
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
activesupport (4.2.1)
|
13
|
+
i18n (~> 0.7)
|
14
|
+
json (~> 1.7, >= 1.7.7)
|
15
|
+
minitest (~> 5.1)
|
16
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
17
|
+
tzinfo (~> 1.1)
|
18
|
+
addressable (2.3.7)
|
19
|
+
cinch (2.2.4)
|
20
|
+
htmlentities (4.3.3)
|
21
|
+
httparty (0.13.3)
|
22
|
+
json (~> 1.8)
|
23
|
+
multi_xml (>= 0.5.2)
|
24
|
+
i18n (0.7.0)
|
25
|
+
json (1.8.2)
|
26
|
+
lastfm (1.26.0)
|
27
|
+
activesupport (>= 3.2.0)
|
28
|
+
httparty
|
29
|
+
xml-simple
|
30
|
+
minitest (5.5.1)
|
31
|
+
multi_json (1.11.0)
|
32
|
+
multi_xml (0.5.5)
|
33
|
+
rake (10.4.2)
|
34
|
+
thread_safe (0.3.5)
|
35
|
+
tzinfo (1.2.2)
|
36
|
+
thread_safe (~> 0.1)
|
37
|
+
video_info (2.4.2)
|
38
|
+
addressable
|
39
|
+
htmlentities
|
40
|
+
multi_json
|
41
|
+
xml-simple (1.1.5)
|
42
|
+
|
43
|
+
PLATFORMS
|
44
|
+
ruby
|
45
|
+
|
46
|
+
DEPENDENCIES
|
47
|
+
bundler (~> 1.9)
|
48
|
+
rake (~> 10.0)
|
49
|
+
rateless_bot!
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2015 TODO:
|
3
|
+
Copyright (c) 2014-2015 TODO: Vincent Heuken
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -1,22 +1,12 @@
|
|
1
|
-
#
|
1
|
+
# Rateless Bot
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
3
|
+
This is an IRC Bot that I made for my IRC channel. I figured other people might want to use it.
|
6
4
|
|
7
5
|
## Installation
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
```ruby
|
12
|
-
gem 'rateless_bot'
|
13
|
-
```
|
14
|
-
|
15
|
-
And then execute:
|
16
|
-
|
17
|
-
$ bundle
|
7
|
+
If you haven't already, install RubyGems. You can do this with your package manager or with [RVM](https://rvm.io)
|
18
8
|
|
19
|
-
|
9
|
+
Once you have RubyGems, simply install it like so:
|
20
10
|
|
21
11
|
$ gem install rateless_bot
|
22
12
|
|
data/exe/rateless_bot
CHANGED
@@ -1,18 +1,59 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'rateless_bot'
|
4
|
+
require 'optparse'
|
5
|
+
|
6
|
+
options = {}
|
7
|
+
|
8
|
+
OptionParser.new do |opts|
|
9
|
+
opts.banner = "Usage: rateless_bot [options]"
|
10
|
+
|
11
|
+
opts.on("--nick NICK", "Bot's nick") do |nick|
|
12
|
+
options[:nick] = nick
|
13
|
+
end
|
14
|
+
|
15
|
+
opts.on("--server SERVER", "IRC server") do |server|
|
16
|
+
options[:server] = server
|
17
|
+
end
|
18
|
+
|
19
|
+
opts.on("--channel CHANNEL", "IRC channel") do |channel|
|
20
|
+
options[:channel] = '#' + channel
|
21
|
+
end
|
22
|
+
|
23
|
+
opts.on("--lastfm-api-key=KEY", "LastFM API key") do |key|
|
24
|
+
options[:lastfm_api_key] = key
|
25
|
+
end
|
26
|
+
|
27
|
+
opts.on("--lastfm-api-secret=SECRET", "LastFM secret API key") do |secret|
|
28
|
+
options[:lastfm_api_secret] = secret
|
29
|
+
end
|
30
|
+
|
31
|
+
opts.on("-h", "--help", "Prints this help") do
|
32
|
+
puts opts
|
33
|
+
exit
|
34
|
+
end
|
35
|
+
end.parse!
|
36
|
+
puts options
|
4
37
|
|
5
38
|
bot = Cinch::Bot.new do
|
6
39
|
configure do |c|
|
7
|
-
c.nick =
|
8
|
-
c.server =
|
9
|
-
c.channels
|
40
|
+
c.nick = options[:nick]
|
41
|
+
c.server = options[:server]
|
42
|
+
c.channels << options[:channel]
|
10
43
|
|
11
44
|
c.plugins.plugins = [CoinFlipper,
|
12
|
-
|
13
|
-
|
14
|
-
|
45
|
+
DiceRoller,
|
46
|
+
Help,
|
47
|
+
LastFM,
|
48
|
+
MagicEightBall,
|
15
49
|
VideoTitle]
|
50
|
+
|
51
|
+
c.plugins.options = {
|
52
|
+
LastFM => {
|
53
|
+
:api_key => options[:lastfm_api_key],
|
54
|
+
:api_secret => options[:lastfm_api_secret]
|
55
|
+
}
|
56
|
+
}
|
16
57
|
end
|
17
58
|
end
|
18
59
|
|
data/lib/rateless_bot/bot.rb
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'cinch'
|
2
|
+
require 'lastfm'
|
3
|
+
|
4
|
+
class LastFM
|
5
|
+
include Cinch::Plugin
|
6
|
+
|
7
|
+
def initialize(*args)
|
8
|
+
super
|
9
|
+
@lastfm = Lastfm.new(config[:api_key], config[:api_secret])
|
10
|
+
end
|
11
|
+
|
12
|
+
match /lastfm [^\s-]/
|
13
|
+
|
14
|
+
def execute(m)
|
15
|
+
user = m.message.split('!lastfm ')[1]
|
16
|
+
scrobbles = @lastfm.user.get_recent_tracks(:user => user)
|
17
|
+
track = scrobbles[0]
|
18
|
+
|
19
|
+
|
20
|
+
m.reply make_track_str(track)
|
21
|
+
end
|
22
|
+
|
23
|
+
def make_track_str(track)
|
24
|
+
artist_and_title = track['artist']['content'] + ' - ' + track['name']
|
25
|
+
|
26
|
+
artist_and_title + (track['nowplaying'] ? ' [Now Playing]' : '')
|
27
|
+
end
|
28
|
+
end
|
data/lib/rateless_bot/version.rb
CHANGED
data/rateless_bot.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
|
12
12
|
spec.summary = %q{An IRC Bot}
|
13
13
|
# spec.description = %q{TODO: Write a longer description or delete this line.}
|
14
|
-
spec.homepage = "https://github.com/vheuken/
|
14
|
+
spec.homepage = "https://github.com/vheuken/rateless_bot"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
@@ -24,4 +24,5 @@ Gem::Specification.new do |spec|
|
|
24
24
|
|
25
25
|
spec.add_dependency "cinch"
|
26
26
|
spec.add_dependency "video_info"
|
27
|
+
spec.add_dependency "lastfm"
|
27
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rateless_bot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vincent Heuken
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: lastfm
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
description:
|
70
84
|
email:
|
71
85
|
- me@vincentheuken.com
|
@@ -76,6 +90,7 @@ extra_rdoc_files: []
|
|
76
90
|
files:
|
77
91
|
- ".gitignore"
|
78
92
|
- Gemfile
|
93
|
+
- Gemfile.lock
|
79
94
|
- LICENSE.txt
|
80
95
|
- README.md
|
81
96
|
- Rakefile
|
@@ -87,11 +102,12 @@ files:
|
|
87
102
|
- lib/rateless_bot/plugins/coin_flipper.rb
|
88
103
|
- lib/rateless_bot/plugins/dice_roller.rb
|
89
104
|
- lib/rateless_bot/plugins/help.rb
|
105
|
+
- lib/rateless_bot/plugins/lastfm.rb
|
90
106
|
- lib/rateless_bot/plugins/magic_eight_ball.rb
|
91
107
|
- lib/rateless_bot/plugins/video_title.rb
|
92
108
|
- lib/rateless_bot/version.rb
|
93
109
|
- rateless_bot.gemspec
|
94
|
-
homepage: https://github.com/vheuken/
|
110
|
+
homepage: https://github.com/vheuken/rateless_bot
|
95
111
|
licenses:
|
96
112
|
- MIT
|
97
113
|
metadata: {}
|