summaryrefslogtreecommitdiffstats
path: root/scripts/emo.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/emo.pl')
-rw-r--r--scripts/emo.pl91
1 files changed, 91 insertions, 0 deletions
diff --git a/scripts/emo.pl b/scripts/emo.pl
new file mode 100644
index 0000000..c1772fa
--- /dev/null
+++ b/scripts/emo.pl
@@ -0,0 +1,91 @@
+#!/usr/bin/env perl
+#
+# Irssi script for easy usage of unicode emoticons.
+#
+# Package `unifont` should have to be installed so that
+# some of these display correctly. Depending on the font, some
+# of them may not really work anyway.
+#
+# Feel free to add your own.
+#
+# Enjoy! (⌐■_■)ノ♪♬
+
+use strict;
+use utf8;
+use vars qw($VERSION %IRSSI %EMOTICONS);
+
+$VERSION = "0.0.1";
+
+%IRSSI = (
+ authors => "Ilkka Pale",
+ contact => "ilkka.pale\@gmail.com",
+ name => "emo",
+ description => "Outputs various unicode emoticons",
+ commands => "emo",
+ licence => "Public Domain"
+);
+
+use Irssi;
+use Irssi::Irc;
+
+%EMOTICONS = (
+ happy => 'ʘ‿ʘ',
+ smile => '◔ ⌣ ◔',
+ flex => 'ᕙ(⇀‸↼‶)ᕗ',
+ shrug => '¯\_(ツ)_/¯',
+ wave => '(•◡•)/',
+ bear => 'ʕ•ᴥ•ʔ',
+ love => '♥‿♥',
+ shock => '⊙▃⊙',
+ wink => '◕‿↼',
+ what => '☉_☉',
+ worried => '⊙﹏⊙',
+ fingers => '╭∩╮(-_-)╭∩╮',
+ tableflip => '(╯°□°)╯︵ ┻━┻',
+ tableback => '┬──┬ ノ(゜-゜ノ)',
+ heart => '❤',
+ lenny => '(͡° ͜ʖ ͡°)',
+ gift => '(´・ω・)っ由',
+ disapprove => 'ಠ_ಠ',
+ tired => 'ب_ب',
+ handsup => '╚(•⌂•)╝',
+ dance => '(⌐■_■)ノ♪♬',
+ sad => '⊙︿⊙',
+ ohplease => 'ヘ( ̄ω ̄ヘ)',
+ kiss => '(っ˘з(˘⌣˘ )',
+ owl => '◎▼◎',
+ hrm => '눈_눈',
+ success => '(•̀ᴗ•́)و',
+ whatever => '◔_◔',
+ amazed => '\(◎o◎)/',
+ suave => '〜( ̄△ ̄〜)',
+ eyes => 'Ծ_Ծ',
+ ghost => '༼✷ɷ✷༽',
+ stoned => '{◕ ◡ ◕}',
+ angry => '►_◄',
+);
+
+sub emolist {
+ foreach my $key (sort keys %EMOTICONS) {
+ Irssi::print($key . " = " . $EMOTICONS{$key});
+ }
+}
+
+sub emo {
+ my ($key, $server, $dest) = @_;
+
+ if (!$server || !$server->{connected}) {
+ Irssi::print("Not connected to server.");
+ return;
+ }
+ return unless $dest;
+
+ if (!exists $EMOTICONS{$key}) {
+ return;
+ }
+
+ $dest->command("msg " . $dest->{name} . " " . $EMOTICONS{$key});
+}
+
+Irssi::command_bind('emo', 'emo');
+Irssi::command_bind('emolist', 'emolist');