Mercurial > hg
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 |
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 |