summaryrefslogtreecommitdiff
path: root/data/rbot/plugins/twitter.rb
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2008-02-22 19:44:34 +0100
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2008-02-22 19:44:34 +0100
commite999932b5e4971febc4aa2f255b907e2fc9cefaf (patch)
tree5d8c087870f4e7c9d0e56fe33256f603de351e36 /data/rbot/plugins/twitter.rb
parent4d622f38dc37b5f7777f9911dfc4fd0d45f5e188 (diff)
twitter plugin: option to twit actions
Diffstat (limited to 'data/rbot/plugins/twitter.rb')
-rw-r--r--data/rbot/plugins/twitter.rb28
1 files changed, 27 insertions, 1 deletions
diff --git a/data/rbot/plugins/twitter.rb b/data/rbot/plugins/twitter.rb
index 14b0c2d6..0ac88ef7 100644
--- a/data/rbot/plugins/twitter.rb
+++ b/data/rbot/plugins/twitter.rb
@@ -42,7 +42,7 @@ class TwitterPlugin < Plugin
# return a help string when the bot is asked for help on this plugin
def help(plugin, topic="")
- return "twitter status [nick] => show nick's (or your) status, use 'twitter friends status [nick]' to also show the friends' timeline | twitter update [status] => updates your status on twitter | twitter identify [username] [password] => ties your nick to your twitter username and password"
+ return "twitter status [nick] => show nick's (or your) status, use 'twitter friends status [nick]' to also show the friends' timeline | twitter update [status] => updates your status on twitter | twitter identify [username] [password] => ties your nick to your twitter username and password | twitter actions [on|off] => enable/disable twitting of actions (/me does ...)"
end
# update the status on twitter
@@ -149,6 +149,31 @@ class TwitterPlugin < Plugin
@registry[m.sourcenick + "_password"] = params[:password].to_s
m.reply "you're all setup!"
end
+
+ # update on ACTION if the user has enabled the option
+ def ctcp_listen(m)
+ return unless m.action?
+ return unless @registry[m.sourcenick + "_actions"]
+ update_status(m, :status => m.message)
+ end
+
+ # show or toggle action twitting
+ def actions(m, params)
+ case params[:toggle]
+ when 'on'
+ @registry[m.sourcenick + "_actions"] = true
+ m.okay
+ when 'off'
+ @registry[m.sourcenick + "_actions"] = false
+ m.okay
+ else
+ if @registry[m.sourcenick + "_actions"]
+ m.reply _("actions will be twitted")
+ else
+ m.reply _("actions will not be twitted")
+ end
+ end
+ end
end
# create an instance of our plugin class and register for the "length" command
@@ -156,5 +181,6 @@ plugin = TwitterPlugin.new
plugin.map 'twitter identify :username :password', :action => "identify", :public => false
plugin.map 'twitter update *status', :action => "update_status", :threaded => true
plugin.map 'twitter status [:nick]', :action => "get_status", :threaded => true
+plugin.map 'twitter actions [:toggle]', :action => "actions", :requirements => { :toggle => /^on|off$/ }
plugin.map 'twitter :friends [status] [:nick]', :action => "get_status", :requirements => { :friends => /^friends?$/ }, :threaded => true