Merge pull request #1 from michenriksen/master
Make event handlers optional to define
This commit is contained in:
commit
47e62bec94
1 changed files with 6 additions and 6 deletions
|
|
@ -5,7 +5,7 @@ require 'rufus/scheduler'
|
||||||
|
|
||||||
module Ebooks
|
module Ebooks
|
||||||
class Bot
|
class Bot
|
||||||
attr_accessor :consumer_key, :consumer_secret,
|
attr_accessor :consumer_key, :consumer_secret,
|
||||||
:oauth_token, :oauth_token_secret
|
:oauth_token, :oauth_token_secret
|
||||||
|
|
||||||
attr_accessor :username
|
attr_accessor :username
|
||||||
|
|
@ -70,13 +70,13 @@ module Ebooks
|
||||||
@stream.on_event(:follow) do |event|
|
@stream.on_event(:follow) do |event|
|
||||||
next if event[:source][:screen_name] == @username
|
next if event[:source][:screen_name] == @username
|
||||||
log "Followed by #{event[:source][:screen_name]}"
|
log "Followed by #{event[:source][:screen_name]}"
|
||||||
@on_follow.call(event[:source])
|
@on_follow.call(event[:source]) if @on_follow
|
||||||
end
|
end
|
||||||
|
|
||||||
@stream.on_direct_message do |dm|
|
@stream.on_direct_message do |dm|
|
||||||
next if dm[:sender][:screen_name] == @username # Don't reply to self
|
next if dm[:sender][:screen_name] == @username # Don't reply to self
|
||||||
log "DM from @#{dm[:sender][:screen_name]}: #{dm[:text]}"
|
log "DM from @#{dm[:sender][:screen_name]}: #{dm[:text]}"
|
||||||
@on_message.call(dm)
|
@on_message.call(dm) if @on_message
|
||||||
end
|
end
|
||||||
|
|
||||||
@stream.userstream do |ev|
|
@stream.userstream do |ev|
|
||||||
|
|
@ -110,9 +110,9 @@ module Ebooks
|
||||||
# - Or soft-retweeted by somebody else
|
# - Or soft-retweeted by somebody else
|
||||||
if mentions.map(&:downcase).include?(@username.downcase) && !ev[:retweeted_status] && !ev[:text].start_with?('RT ')
|
if mentions.map(&:downcase).include?(@username.downcase) && !ev[:retweeted_status] && !ev[:text].start_with?('RT ')
|
||||||
log "Mention from @#{ev[:user][:screen_name]}: #{ev[:text]}"
|
log "Mention from @#{ev[:user][:screen_name]}: #{ev[:text]}"
|
||||||
@on_mention.call(ev, meta)
|
@on_mention.call(ev, meta) if @on_mention
|
||||||
else
|
else
|
||||||
@on_timeline.call(ev, meta)
|
@on_timeline.call(ev, meta) if @on_timeline
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -135,7 +135,7 @@ module Ebooks
|
||||||
@twitter.direct_message_create(ev[:sender][:screen_name], text, opts)
|
@twitter.direct_message_create(ev[:sender][:screen_name], text, opts)
|
||||||
elsif ev.is_a? Twitter::Tweet
|
elsif ev.is_a? Twitter::Tweet
|
||||||
log "Replying to @#{ev[:user][:screen_name]} with: #{text}"
|
log "Replying to @#{ev[:user][:screen_name]} with: #{text}"
|
||||||
@twitter.update(text, in_reply_to_status_id: ev[:id])
|
@twitter.update(text, in_reply_to_status_id: ev[:id])
|
||||||
else
|
else
|
||||||
raise Exception("Don't know how to reply to a #{ev.class}")
|
raise Exception("Don't know how to reply to a #{ev.class}")
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue