Skip to content

Instantly share code, notes, and snippets.

@mrdaemon
Created August 11, 2011 02:11
Show Gist options
  • Save mrdaemon/1138766 to your computer and use it in GitHub Desktop.
Save mrdaemon/1138766 to your computer and use it in GitHub Desktop.
use strict;
use vars qw($VERSION %IRSSI);
use Irssi;
$VERSION = '0.01';
%IRSSI = (
authors => 'Alexandre Gauthier',
contact => '[email protected]',
name => 'Bullshit Knifaisms Smileys',
description => 'This script pretty much allows you spam ' .
'horrible japanese smileys. Use at your own ' .
'risk.',
license => 'Public Domain',
);
#### FIXME: OH LAWD HARCODED CONTENTS ####
my %EMOJIS = (
':hug:' => 'ヽ(´ー`)ノ',
':yudothis:' => 'щ(゚Д゚щ)',
':xd:' => '( ˃ ヮ˂)',
':kiss:' => '( ¯3¯)',
':smile:' => '( ゚ ヮ゚)',
':mad3:' => 'ಠ_ಠ',
':mad2:' => 'ヽ(`Д´)ノ',
':punch:' => '( `Д´)=◯)`ν°)',
':shock2:' => '(゜△゜;)',
':sigh2:' => '( ´Д`)',
':table3:' => '(ノ `Д´)ノ ~~~┻━┻)`ν゜)',
':table2:' => '( `Д´)ノ┳━┳',
':moe:' => 'ℳℴℯ❤',
':cry:' => '。・゚・(ノД`)・゚・。',
':nyoro:' => '(´・ω・)',
':cummed:' => 'THE PLEASURE OF BEING CUMMED INSIDE',
':mad:' => '(╬ ಠ益ಠ)',
':yay:' => 'ヽ(' ▽' )ノ !',
':flower5:' => '♡(✿ˇ◡ˇ)人(ˇ◡ˇ✿)♡',
':claw:' => '( ゚◡◡゚)☄',
':facethrow:' => '(ノ ¯3¯)ノ ~( `Д´)',
':haha:' => '( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \',
':cummedhorror:' => 'THE HORROR OF BEING CUMMED INSIDE.',
':snob:' => '(¯^¯ )',
':idunnolol:' => '¯\(°_o)/¯',
':table:' => '(ノ `Д´)ノ ~┻━┻',
':hug4:' => '(づ。◕‿◕。)づ',
':hug3:' => '(づ。◕‿‿‿‿◕。)づ',
':smile2:' => '(。◕‿◕。)'_,
':sad:' => '( ゚∩゚)',
':hug2:' => '(っ´ω`)っ',
':shock:' => 'Σ(゚Д゚)',
':sigh:' => '( ´_ゝ`)',
':slap:' => '( `Д´)ノ)`ν゜)',
':codeindentation:' => 'THE FORCED INDENTATION OF CODE.',
':corea:' => '( `ー´)',
)
my $locked = 0;
sub knifaize {
my $enabled = Irssi:settings_get_bool('enable_knifamode');
unless ($enabled && !$locked) {
return;
}
my $signal = Irssi::signal_get_emitted();
my ($data, $server, $witem) = @_;
# Do not filter commands
if ($data =~ /^\//) { return };
while ( my($trigger, $emoji) = each(%EMOJIS)) {
$data =~ s/$trigger/$emoji/g;
# event with shit mutex, lawl
$locked = 1;
Irssi::signal_emit("$signal", $data, $server, $witem);
Irssi::signal_stop();
$locked = 0;
}
}
sub emojitable {
my ($data, $server, $witem) = @_;
return unless $witem;
}
# Settings
Irssi::settings_add_bool('lookandfeel', 'enable_knifamode', 1);
# hooks
Irssi::signal_add_first('send command', 'knifaize');
# commands
# TODO: halp
Irssi::print("Knifa mode support version $VERSION initialized");
Irssi::print("Loaded " . keys(%EMOJIS) . " knifaisms.");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment