]> git.99rst.org Git - irssi-scripts.irssi.org.git/commitdiff
Add slack_emoji.pl
authorLars Djerf <redacted>
Sat, 3 Jan 2015 18:42:44 +0000 (19:42 +0100)
committerLars Djerf <redacted>
Sat, 3 Jan 2015 18:57:29 +0000 (19:57 +0100)
A script for converting Slack emoji to smileys.

_data/scripts.yaml
scripts/slack_emoji.pl [new file with mode: 0644]

index 321cd1a9f30cad74a2e185f0b1f2c459453b894b..0e48e8aba6b8b9680cfe3cb3e77e10dfaca42e5b 100644 (file)
   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 (file)
index 0000000..e94cec5
--- /dev/null
@@ -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');
git clone https://git.99rst.org/PROJECT