name: "showmode"
version: "0.3"
+- authors: "Lars Djerf"
+ contact: "lars.djerf@gmail.com"
+ description: "Converts Slack emoji to smileys."
+ filename: "slack_emoji.pl"
+ modified: "2015-01-03 19:55:28"
+ license: "GPLv3"
+ name: "slack_emoji"
+ version: "0.03"
+
- authors: "crshd"
contact: "christian.brassat@gmail.com"
description: "Filters join/part messages if user hasn't been active in a while."
--- /dev/null
+# slack_emoji.pl
+# This script converts slack emoji to smileys.
+
+use strict;
+use warnings;
+use vars qw($VERSION %IRSSI);
+
+use Irssi;
+$VERSION = '0.03';
+%IRSSI = (
+ authors=> 'Lars Djerf',
+ contact=> 'lars.djerf@gmail.com',
+ name=> 'slack_emoji',
+ description=> 'This script converts Slack emoji to smileys.',
+ license=> 'GPLv3',
+ );
+
+my %emoji = ('smile' => ':)',
+ 'simple_smile' => ':)',
+ 'smiley' => ':-)',
+ 'grin' => ':D',
+ 'wink' => ';)',
+ 'smirk' => ';)',
+ 'blush' => ':$',
+ 'stuck_out_tongue' => ':P',
+ 'stuck_out_tongue_winking_eye' => ';P',
+ 'stuck_out_tongue_closed_eyes' => '',
+ 'disappointed' => ':(',
+ 'astonished' => ':O',
+ 'open_mouth' => ':O',
+ 'heart' => '<3',
+ 'broken_heart' => '</3',
+ 'thumb' => '*thumbs-up*',
+ 'thumbsup' => '*thumbs-up*',
+ 'confused' => ':S');
+
+sub event_message ($$$) {
+ my ($server, $msg, @rest) = @_;
+ my @matches = ($msg =~ /\:(\w+)\:/g);
+ foreach (@matches) {
+ if ($emoji{$_}) {
+ my $smiley = $emoji{$_};
+ $msg =~ s/\:$_\:/$smiley/;
+ }
+ }
+ Irssi::signal_continue($server, $msg, @rest);
+}
+
+Irssi::signal_add_first('message public', 'event_message');
+Irssi::signal_add_first('message private', 'event_message');