diff options
Diffstat (limited to 'scripts/emo.pl')
| -rw-r--r-- | scripts/emo.pl | 91 |
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'); |
