botolo 0.50.1 → 0.55.0
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 +4 -4
- data/README.md +1 -1
- data/bin/botolo +6 -4
- data/botolo.gemspec +1 -1
- data/lib/botolo.rb +1 -0
- data/lib/botolo/api/tweet.rb +9 -3
- data/lib/botolo/bot/engine.rb +2 -2
- data/lib/botolo/logger.rb +16 -0
- data/lib/botolo/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6035a7556f519308cf1561e1a015b082479a7799
|
4
|
+
data.tar.gz: 9ba0bd8d09318d87edd5b5bcba69f40f5821618c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 879ded7647749091444b1baabb42065392f05fbc60ac21dd0272853927891afba5e243023eb539f9f5604931e3f02fc098f68895afa387e85d7e5fafcb93d905
|
7
|
+
data.tar.gz: 027fabc0b0b6002abe2c280b59ada46b6d7ecf941429244b702441a3c0d20e3629a7a6c73798eaade0092df8230c7446268284c87dac51d5dcc464a588ecb50f
|
data/README.md
CHANGED
@@ -50,7 +50,7 @@ task:
|
|
50
50
|
|
51
51
|
Botolo expects to find in the current directory a file named dummy-bot.rb
|
52
52
|
implementing the two methods (say\_hello and say\_foo) it has to run based upon
|
53
|
-
this schedule.
|
53
|
+
this schedule.
|
54
54
|
There is a **big** constraint: your ruby file must be a Botolo::Bot::Behaviour
|
55
55
|
class. It must also implement an initialize method with an Hash parameter
|
56
56
|
engine will use to pass options to the bot.
|
data/bin/botolo
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'botolo'
|
4
4
|
require 'openssl'
|
5
|
-
require '
|
5
|
+
require 'logger'
|
6
6
|
require 'getoptlong'
|
7
7
|
|
8
8
|
opts = GetoptLong.new(
|
@@ -12,11 +12,13 @@ opts = GetoptLong.new(
|
|
12
12
|
)
|
13
13
|
|
14
14
|
DEFAULT_BEHAVIOUR = "./lib/botolo/bot/behaviour.rb"
|
15
|
-
BOTOLO_PID = File.join(".", "botolo.pid")
|
15
|
+
BOTOLO_PID = File.join(".", "botolo.pid")
|
16
16
|
|
17
17
|
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
|
18
18
|
|
19
|
-
$logger
|
19
|
+
$logger = Logger.new(STDOUT)
|
20
|
+
$logger.datetime_format = '%Y-%m-%d %H:%M:%S'
|
21
|
+
|
20
22
|
trap("INT") { @bot.stop; $logger.bye; File.delete(BOTOLO_PID); Kernel.exit(0); }
|
21
23
|
|
22
24
|
opts.quiet=true
|
@@ -47,7 +49,7 @@ config_file = ARGV[0] if ARGV.count == 1
|
|
47
49
|
|
48
50
|
$logger.die "usage: botolo bot_configuration_file" if config_file.nil?
|
49
51
|
|
50
|
-
$logger.helo "botolo", Botolo::VERSION
|
52
|
+
$logger.helo "botolo", Botolo::VERSION
|
51
53
|
|
52
54
|
@bot = Botolo::Bot::Engine.new({:config=>config_file})
|
53
55
|
$logger.log "#{@bot.name} is online" if @bot.online?
|
data/botolo.gemspec
CHANGED
@@ -24,5 +24,5 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.3"
|
25
25
|
spec.add_development_dependency "rake"
|
26
26
|
spec.add_dependency "twitter", "~> 5.11.0"
|
27
|
-
spec.add_dependency "
|
27
|
+
spec.add_dependency "logger-colors"
|
28
28
|
end
|
data/lib/botolo.rb
CHANGED
data/lib/botolo/api/tweet.rb
CHANGED
@@ -16,7 +16,6 @@ module Botolo
|
|
16
16
|
a=Hash.new
|
17
17
|
a[:name] = account['name']
|
18
18
|
begin
|
19
|
-
$logger.log "authenticating #{a[:name]}"
|
20
19
|
a[:client] = Twitter::REST::Client.new do |config|
|
21
20
|
config.consumer_key = account['consumer_key']
|
22
21
|
config.consumer_secret = account['consumer_secret']
|
@@ -24,12 +23,14 @@ module Botolo
|
|
24
23
|
config.access_token = account['access_token'] unless account['access_token'].nil?
|
25
24
|
config.access_token_secret = account['access_token_secret'] unless account['access_token_secret'].nil?
|
26
25
|
end
|
26
|
+
$logger.ok "#{a[:name]} authenticated successfully"
|
27
27
|
rescue Exception => e
|
28
|
-
$logger.err e.message
|
28
|
+
$logger.err "can't authenticate #{a[:name]} (#{e.message})"
|
29
29
|
end
|
30
30
|
|
31
31
|
@twitters << a
|
32
32
|
end
|
33
|
+
$logger.debug "#{@twitters}"
|
33
34
|
|
34
35
|
@twitters
|
35
36
|
end
|
@@ -37,7 +38,12 @@ module Botolo
|
|
37
38
|
def tweet(name=nil, msg)
|
38
39
|
return nil if msg.empty?
|
39
40
|
@twitters.each do |t|
|
40
|
-
|
41
|
+
$logger.debug "#{t[:name]} sending #{msg}"
|
42
|
+
begin
|
43
|
+
t[:client].update(msg) if (name.nil? or (!name.nil? and name == t[:name]))
|
44
|
+
rescue => e
|
45
|
+
$logger.err "#{e.message}"
|
46
|
+
end
|
41
47
|
end
|
42
48
|
return msg
|
43
49
|
end
|
data/lib/botolo/bot/engine.rb
CHANGED
@@ -14,8 +14,8 @@ module Botolo
|
|
14
14
|
|
15
15
|
if @config['twitter']['enabled']
|
16
16
|
$twitter_api = Botolo::API::Tweet.instance
|
17
|
-
$twitter_api.authenticate(@config['twitter'])
|
18
|
-
@online unless $twitter_api.twitters.empty?
|
17
|
+
$twitter_api.authenticate(@config['twitter'])
|
18
|
+
@online = true unless $twitter_api.twitters.empty?
|
19
19
|
end
|
20
20
|
|
21
21
|
@tasks = @config['task']
|
data/lib/botolo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: botolo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.55.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paolo Perego
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -53,19 +53,19 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 5.11.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: logger-colors
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
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
|
-
version:
|
68
|
+
version: '0'
|
69
69
|
description: botolo is a bot engine written in ruby
|
70
70
|
email:
|
71
71
|
- thesp0nge@gmail.com
|
@@ -91,6 +91,7 @@ files:
|
|
91
91
|
- lib/botolo/api/tweet.rb
|
92
92
|
- lib/botolo/bot/behaviour.rb
|
93
93
|
- lib/botolo/bot/engine.rb
|
94
|
+
- lib/botolo/logger.rb
|
94
95
|
- lib/botolo/version.rb
|
95
96
|
homepage: http://codesake.com
|
96
97
|
licenses:
|
@@ -112,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
113
|
version: '0'
|
113
114
|
requirements: []
|
114
115
|
rubyforge_project:
|
115
|
-
rubygems_version: 2.
|
116
|
+
rubygems_version: 2.5.1
|
116
117
|
signing_key:
|
117
118
|
specification_version: 4
|
118
119
|
summary: botolo is a bot engine written in ruby. With botolo you can focus on writing
|