annotate mcabber/contrib/events/eventcmd.pastebin @ 1961:39021fd6b0e1

Try to improve readmarks in some cases This patch removes the readmark when entering chatmode if the mark is on the last line. This should hopefully fix weird behavior seen under some circumstances.
author Mikael Berthe <mikael@lilotux.net>
date Tue, 15 Mar 2011 00:39:17 +0100
parents 6df03b9b17ba
children 4889f429fdd0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1516
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
1 #!/bin/sh
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
2 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
3 # event_command url handling script for mcabber
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
4 # by
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
5 # * Alexander Clouter <alex@digriz.org.uk>
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
6 # * Jamie Lentin <jamie@lentin.co.uk>
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
7 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
8 # For tinyurl'ing (sending tinyurl's of URL's sent to you
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
9 # resent as a headline to yourself) you set your *own*
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
10 # jabber id for 'me' and it's probably best leaving
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
11 # 'tinyurltrigger' unless you know what you are doing.
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
12 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
13 # For pastebin support (dumping the URL as an HTML anchor
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
14 # into a local file that could be exported by a webserver
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
15 # or as a file a web-browser can open) tinker with the
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
16 # pastebin lines.
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
17 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
18 # If you want to disable a one of the facilities, just
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
19 # comment out the pair of variables you do not want.
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
20 #
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
21 #set -x
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
22
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
23 ## configuration
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
24 # tinyurl'ifier
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
25 me=jim@jabber.li
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
26 tinyurltrigger=24
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
27 # pastebin support
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
28 pastebin_file=~/bitbucket/stuff/pastebin.html
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
29 pastebin_line_count=10
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
30
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
31 # Don't do 'owt unless recieving a message
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
32 [ x$1 != xMSG ] && exit 0
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
33 [ x$2 != xIN ] && exit 0
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
34
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
35 jid=$3
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
36 # do nothing if it's from self
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
37 [ "$jid" == "$me" ] && exit 0
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
38
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
39 # If receiving a message, scan for links
1517
6df03b9b17ba eventcmd.pastebin: add https and ftp support (suggested by Vic and M. Vuets)
Mikael Berthe <mikael@lilotux.net>
parents: 1516
diff changeset
40 url=$(cat "$4" | awk 'BEGIN { RS="( |\n|\t)+"; FS="¬"; } /(https?|ftp):\/\// { print $1 }')
1516
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
41
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
42 if [ -n "$url" ]; then
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
43 date=$(/bin/date)
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
44
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
45 if [ -n "$me" -a ${#url} -ge $tinyurltrigger ]; then
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
46 tinyurl=`wget -q -O - http://tinyurl.com/api-create.php?url="$url"`
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
47
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
48 echo "say_to -q -h $me <= $jid $url" > ~/.mcabber/mcabber.fifo
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
49 echo "say_to -q -h $me $tinyurl" > ~/.mcabber/mcabber.fifo
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
50 fi
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
51 if [ -n "$pastebin_file" ]; then
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
52 if [ ! -f "$pastebin_file" ]; then
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
53 touch "$pastebin_file"
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
54 fi
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
55
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
56 sed -i -e :a -e '$q;N;11,$D;ba' "$pastebin_file"
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
57 printf '%s (%s): <a href="%s">%s</a><br/>\n' "$date" "$jid" "$url" "$url" >> $pastebin_file
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
58 fi
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
59 fi
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
60
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
61 [ -n "$4" ] && rm "$4"
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
62
581d7bc8a404 Add pastebin/tiny-er event script (Alexander Clouter/Jamie Lentin)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
63 exit 0