mirror of
https://github.com/thewesker/twitter_ebooks.git
synced 2025-12-23 05:41:08 -05:00
Make event handlers optional to define
Check if event handlers have been defined before attempting to call them. This prevents the bot from crashing in the case that an event handler hasn't been defined.
This commit is contained in:
@@ -70,13 +70,13 @@ module Ebooks
|
||||
@stream.on_event(:follow) do |event|
|
||||
next if event[:source][:screen_name] == @username
|
||||
log "Followed by #{event[:source][:screen_name]}"
|
||||
@on_follow.call(event[:source])
|
||||
@on_follow.call(event[:source]) if @on_follow
|
||||
end
|
||||
|
||||
@stream.on_direct_message do |dm|
|
||||
next if dm[:sender][:screen_name] == @username # Don't reply to self
|
||||
log "DM from @#{dm[:sender][:screen_name]}: #{dm[:text]}"
|
||||
@on_message.call(dm)
|
||||
@on_message.call(dm) if @on_message
|
||||
end
|
||||
|
||||
@stream.userstream do |ev|
|
||||
@@ -110,9 +110,9 @@ module Ebooks
|
||||
# - Or soft-retweeted by somebody else
|
||||
if mentions.map(&:downcase).include?(@username.downcase) && !ev[:retweeted_status] && !ev[:text].start_with?('RT ')
|
||||
log "Mention from @#{ev[:user][:screen_name]}: #{ev[:text]}"
|
||||
@on_mention.call(ev, meta)
|
||||
@on_mention.call(ev, meta) if @on_mention
|
||||
else
|
||||
@on_timeline.call(ev, meta)
|
||||
@on_timeline.call(ev, meta) if @on_timeline
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user