Module: Chatterbot::Helpers
- Included in:
- Bot
- Defined in:
- lib/chatterbot/helpers.rb
Overview
a bunch of helper routines for bots
Instance Method Summary collapse
-
#botname ⇒ Object
The name of the currently running bot.
- #botname=(b) ⇒ Object
-
#from_user(s) ⇒ Object
Pull the username from a tweet hash – this is different depending on if we’re doing a search, or parsing through replies/mentions.
-
#replace_variables(txt, original = nil) ⇒ Object
do some simple variable substitution.
-
#tweet_user(tweet) ⇒ Object
Take the incoming tweet/user name, and turn it into something suitable for replying to a user.
Instance Method Details
#botname ⇒ Object
The name of the currently running bot
12 13 14 15 16 17 18 19 20 |
# File 'lib/chatterbot/helpers.rb', line 12 def botname if !@botname.nil? @botname elsif self.class < Bot self.class.to_s.downcase else File.basename($0,".rb") end end |
#botname=(b) ⇒ Object
6 7 8 |
# File 'lib/chatterbot/helpers.rb', line 6 def botname=(b) @botname = b end |
#from_user(s) ⇒ Object
Pull the username from a tweet hash – this is different depending on if we’re doing a search, or parsing through replies/mentions.
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/chatterbot/helpers.rb', line 25 def from_user(s) case s when Twitter::Tweet s.user.screen_name when Twitter::User s.screen_name when String s else s.has_key?(:from_user) ? s[:from_user] : s[:user][:screen_name] end end |
#replace_variables(txt, original = nil) ⇒ Object
do some simple variable substitution. for now, it only handles replacing #USER# with the screen of the incoming tweet, but it could do more if needed
53 54 55 56 57 58 59 60 |
# File 'lib/chatterbot/helpers.rb', line 53 def replace_variables(txt, original = nil) if ! original.nil? && txt.include?("#USER#") username = tweet_user(original) txt.gsub("#USER#", username) else txt end end |
#tweet_user(tweet) ⇒ Object
Take the incoming tweet/user name, and turn it into something suitable for replying to a user. Basically, get their handle and add a ‘@’ to it.
42 43 44 45 |
# File 'lib/chatterbot/helpers.rb', line 42 def tweet_user(tweet) base = from_user(tweet) base =~ /^@/ ? base : "@#{base}" end |