Mercurial > hg
changeset 1516:581d7bc8a404
Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Patch sent by Alexander Clouter.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 27 Sep 2008 21:14:17 +0200 |
parents | 9013d23f0a86 |
children | 6df03b9b17ba |
files | mcabber/contrib/events/eventcmd.pastebin |
diffstat | 1 files changed, 63 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mcabber/contrib/events/eventcmd.pastebin Sat Sep 27 21:14:17 2008 +0200 @@ -0,0 +1,63 @@ +#!/bin/sh +# +# event_command url handling script for mcabber +# by +# * Alexander Clouter <alex@digriz.org.uk> +# * Jamie Lentin <jamie@lentin.co.uk> +# +# For tinyurl'ing (sending tinyurl's of URL's sent to you +# resent as a headline to yourself) you set your *own* +# jabber id for 'me' and it's probably best leaving +# 'tinyurltrigger' unless you know what you are doing. +# +# For pastebin support (dumping the URL as an HTML anchor +# into a local file that could be exported by a webserver +# or as a file a web-browser can open) tinker with the +# pastebin lines. +# +# If you want to disable a one of the facilities, just +# comment out the pair of variables you do not want. +# +#set -x + +## configuration +# tinyurl'ifier +me=jim@jabber.li +tinyurltrigger=24 +# pastebin support +pastebin_file=~/bitbucket/stuff/pastebin.html +pastebin_line_count=10 + +# Don't do 'owt unless recieving a message +[ x$1 != xMSG ] && exit 0 +[ x$2 != xIN ] && exit 0 + +jid=$3 +# do nothing if it's from self +[ "$jid" == "$me" ] && exit 0 + +# If receiving a message, scan for links +url=$(cat "$4" | awk 'BEGIN { RS="( |\n|\t)+"; FS="¬"; } /http:\/\// { print $1 }') + +if [ -n "$url" ]; then + date=$(/bin/date) + + if [ -n "$me" -a ${#url} -ge $tinyurltrigger ]; then + tinyurl=`wget -q -O - http://tinyurl.com/api-create.php?url="$url"` + + echo "say_to -q -h $me <= $jid $url" > ~/.mcabber/mcabber.fifo + echo "say_to -q -h $me $tinyurl" > ~/.mcabber/mcabber.fifo + fi + if [ -n "$pastebin_file" ]; then + if [ ! -f "$pastebin_file" ]; then + touch "$pastebin_file" + fi + + sed -i -e :a -e '$q;N;11,$D;ba' "$pastebin_file" + printf '%s (%s): <a href="%s">%s</a><br/>\n' "$date" "$jid" "$url" "$url" >> $pastebin_file + fi +fi + +[ -n "$4" ] && rm "$4" + +exit 0