mcabber/contrib/events/eventcmd.pastebin
author Mikael Berthe <mikael@lilotux.net>
Tue, 30 May 2023 16:37:46 +0200
changeset 2366 480585fec48a
parent 2169 4889f429fdd0
permissions -rwxr-xr-x
Update spell checking section in the configuration file
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
2169
4889f429fdd0 Get read of bashism in contrib/events/eventcmd.pastebin
Mikael Berthe <mikael@lilotux.net>
parents: 1517
diff changeset
    37
[ "$jid" = "$me" ] && exit 0
1516
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