twibot 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ == 0.1.2 / 2009-03-18
2
+
3
+ * Removed some warnings
4
+ * Applied patch from Dan Van Derveer fixing a few minor bugs related to the
5
+ options hash sent to Twitter4R
6
+
1
7
  == 0.1.1 / 2009-03-15
2
8
 
3
9
  * Fixed dependency
data/Readme.rdoc CHANGED
@@ -132,6 +132,10 @@ As long as Twibot finds any messages and/or tweets, the interval stays the same
132
132
  sleep is increased by interval_step configuration option. This happens until it
133
133
  reaches max_interval, where it will stay until Twibot finds anything.
134
134
 
135
+ == CONTRIBUTORS
136
+
137
+ * Dan Van Derveer (bug fixes)
138
+
135
139
  == LICENSE
136
140
 
137
141
  (The MIT License)
data/lib/twibot/bot.rb CHANGED
@@ -25,7 +25,7 @@ module Twibot
25
25
  :tweet => nil
26
26
  }
27
27
  rescue Exception => krash
28
- raise SystemExit.new krash.message
28
+ raise SystemExit.new(krash.message)
29
29
  end
30
30
 
31
31
  def prompt?
@@ -82,8 +82,8 @@ module Twibot
82
82
  def receive_messages
83
83
  type = :message
84
84
  return false unless handlers[type].length > 0
85
-
86
- options = { :since_id => @processed[type] } if @processed[type]
85
+ options = {}
86
+ options[:since_id] = @processed[type] if @processed[type]
87
87
  dispatch_messages(type, @twitter.messages(:received, options), %w{message messages})
88
88
  end
89
89
 
@@ -93,8 +93,8 @@ module Twibot
93
93
  def receive_tweets
94
94
  type = :tweet
95
95
  return false unless handlers[type].length > 0
96
-
97
- options = { :id => @processed[type] } if @processed[type]
96
+ options = {}
97
+ options[:since_id] = @processed[type] if @processed[type]
98
98
  dispatch_messages(type, @twitter.timeline_for(:me, options), %w{tweet tweets})
99
99
  end
100
100
 
@@ -104,15 +104,9 @@ module Twibot
104
104
  def receive_replies
105
105
  type = :reply
106
106
  return false unless handlers[type].length > 0
107
-
108
- options = { :id => @processed[type] } if @processed[type]
109
- messages = @twitter.timeline_for(:me, options)
110
-
111
- # Pick only messages that start with our name
112
- num = dispatch_messages(type, messages.find_all { |t| t.text =~ /^@#{@twitter.send :login}/ }, %w{reply replies})
113
-
114
- # Avoid picking up messages over again
115
- @processed[type] = messages.first.id if messages.length > 0
107
+ options = {}
108
+ options[:since_id] = @processed[type] if @processed[type]
109
+ num = dispatch_messages(type, @twitter.status(:replies, options), %w{reply replies})
116
110
  num
117
111
  end
118
112
 
@@ -121,6 +115,7 @@ module Twibot
121
115
  #
122
116
  def dispatch_messages(type, messages, labels)
123
117
  messages.each { |message| dispatch(type, message) }
118
+ # Avoid picking up messages over again
124
119
  @processed[type] = messages.first.id if messages.length > 0
125
120
 
126
121
  num = messages.length
data/lib/twibot.rb CHANGED
@@ -7,7 +7,7 @@ require File.join(File.dirname(__FILE__), 'hash')
7
7
  module Twibot
8
8
 
9
9
  # :stopdoc:
10
- VERSION = '0.1.1'
10
+ VERSION = '0.1.2'
11
11
  LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
12
12
  PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
13
13
  # :startdoc:
data/test/test_bot.rb CHANGED
@@ -58,7 +58,7 @@ class TestBot < Test::Unit::TestCase
58
58
  test "should receive message" do
59
59
  bot = Twibot::Bot.new(Twibot::Config.new(:log_level => "error"))
60
60
  bot.add_handler(:message, Twibot::Handler.new)
61
- Twitter::Client.any_instance.expects(:messages).with(:received, nil).returns([message("cjno", "Hei der!")])
61
+ Twitter::Client.any_instance.expects(:messages).with(:received, {}).returns([message("cjno", "Hei der!")])
62
62
 
63
63
  assert bot.receive_messages
64
64
  end
@@ -66,7 +66,7 @@ class TestBot < Test::Unit::TestCase
66
66
  test "should remember last received message" do
67
67
  bot = Twibot::Bot.new(Twibot::Config.new(:log_level => "error"))
68
68
  bot.add_handler(:message, Twibot::Handler.new)
69
- Twitter::Client.any_instance.expects(:messages).with(:received, nil).returns([message("cjno", "Hei der!")])
69
+ Twitter::Client.any_instance.expects(:messages).with(:received, {}).returns([message("cjno", "Hei der!")])
70
70
  assert_equal 1, bot.receive_messages
71
71
 
72
72
  Twitter::Client.any_instance.expects(:messages).with(:received, { :since_id => 1 }).returns([])
@@ -76,7 +76,7 @@ class TestBot < Test::Unit::TestCase
76
76
  test "should receive tweet" do
77
77
  bot = Twibot::Bot.new(Twibot::Config.new(:log_level => "error"))
78
78
  bot.add_handler(:tweet, Twibot::Handler.new)
79
- Twitter::Client.any_instance.expects(:timeline_for).with(:me, nil).returns([tweet("cjno", "Hei der!")])
79
+ Twitter::Client.any_instance.expects(:timeline_for).with(:me, {}).returns([tweet("cjno", "Hei der!")])
80
80
 
81
81
  assert_equal 1, bot.receive_tweets
82
82
  end
@@ -84,25 +84,17 @@ class TestBot < Test::Unit::TestCase
84
84
  test "should remember received tweets" do
85
85
  bot = Twibot::Bot.new(Twibot::Config.new(:log_level => "error"))
86
86
  bot.add_handler(:tweet, Twibot::Handler.new)
87
- Twitter::Client.any_instance.expects(:timeline_for).with(:me, nil).returns([tweet("cjno", "Hei der!")])
87
+ Twitter::Client.any_instance.expects(:timeline_for).with(:me, {}).returns([tweet("cjno", "Hei der!")])
88
88
  assert_equal 1, bot.receive_tweets
89
89
 
90
- Twitter::Client.any_instance.expects(:timeline_for).with(:me, { :id => 1 }).returns([])
90
+ Twitter::Client.any_instance.expects(:timeline_for).with(:me, { :since_id => 1 }).returns([])
91
91
  assert_equal 0, bot.receive_tweets
92
92
  end
93
93
 
94
- test "should not receive reply when tweet does not start with login" do
95
- bot = Twibot::Bot.new(Twibot::Config.new(:log_level => "error", :login => "irbno"))
96
- bot.add_handler(:reply, Twibot::Handler.new)
97
- Twitter::Client.any_instance.expects(:timeline_for).with(:me, nil).returns([tweet("cjno", "Hei der!")])
98
-
99
- assert_equal 0, bot.receive_replies
100
- end
101
-
102
94
  test "should receive reply when tweet starts with login" do
103
95
  bot = Twibot::Bot.new(Twibot::Config.new(:log_level => "error", :login => "irbno"))
104
96
  bot.add_handler(:reply, Twibot::Handler.new)
105
- Twitter::Client.any_instance.expects(:timeline_for).with(:me, nil).returns([tweet("cjno", "@irbno Hei der!")])
97
+ Twitter::Client.any_instance.expects(:status).with(:replies, {}).returns([tweet("cjno", "@irbno Hei der!")])
106
98
 
107
99
  assert_equal 1, bot.receive_replies
108
100
  end
@@ -110,10 +102,10 @@ class TestBot < Test::Unit::TestCase
110
102
  test "should remember received replies" do
111
103
  bot = Twibot::Bot.new(Twibot::Config.new(:log_level => "error", :login => "irbno"))
112
104
  bot.add_handler(:reply, Twibot::Handler.new)
113
- Twitter::Client.any_instance.expects(:timeline_for).with(:me, nil).returns([tweet("cjno", "@irbno Hei der!")])
105
+ Twitter::Client.any_instance.expects(:status).with(:replies, {}).returns([tweet("cjno", "@irbno Hei der!")])
114
106
  assert_equal 1, bot.receive_replies
115
107
 
116
- Twitter::Client.any_instance.expects(:timeline_for).with(:me, { :id => 1 }).returns([])
108
+ Twitter::Client.any_instance.expects(:status).with(:replies, { :since_id => 1 }).returns([])
117
109
  assert_equal 0, bot.receive_replies
118
110
  end
119
111
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twibot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Johansen
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-15 00:00:00 +01:00
12
+ date: 2009-03-18 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency