summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Djerf2015-01-03 19:42:44 +0100
committerLars Djerf2015-01-03 19:57:29 +0100
commitab24f793c3253279d39e2f373efe27a2853ce36c (patch)
tree72b658bae5f755d68c158259be6112becff2baf0
parentf667c88eef3b4c4c903120e45f2af1d13e4ff954 (diff)
downloadscripts.irssi.org-ab24f793c3253279d39e2f373efe27a2853ce36c.tar.bz2
Add slack_emoji.pl
A script for converting Slack emoji to smileys.
-rw-r--r--_data/scripts.yaml9
-rw-r--r--scripts/slack_emoji.pl50
2 files changed, 59 insertions, 0 deletions
diff --git a/_data/scripts.yaml b/_data/scripts.yaml
index 321cd1a..0e48e8a 100644
--- a/_data/scripts.yaml
+++ b/_data/scripts.yaml
@@ -3488,6 +3488,15 @@
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."
diff --git a/scripts/slack_emoji.pl b/scripts/slack_emoji.pl
new file mode 100644
index 0000000..e94cec5
--- /dev/null
+++ b/scripts/slack_emoji.pl
@@ -0,0 +1,50 @@
+# 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');