html/vowels.pl


   1 #!/usr/bin/perl -w
   2 
   3 # /VSAY <text>
   4 #  - same as /say, but removes vowels from text
   5 #
   6 # /VME <text>
   7 #  - same as /me, but removes vowels from text
   8 #
   9 # /VTOPIC <text>
  10 #  - same as /topic, but removes vowels from text :)
  11 
  12 # Written by Jakub Jankowski <shasta@atn.pl>
  13 # for Irssi 0.7.98.4+
  14 
  15 use strict;
  16 use vars qw($VERSION %IRSSI);
  17 
  18 $VERSION = "1.0";
  19 %IRSSI = (
  20     authors     => 'Jakub Jankowski',
  21     contact     => 'shasta@atn.pl',
  22     name        => 'vowels',
  23     description => 'Silly script, removes vowels, idea taken from #linuxnews ;-)',
  24     license     => 'GNU GPLv2 or later',
  25     url         => 'http://irssi.atn.pl/',
  26 );
  27 
  28 use Irssi;
  29 use Irssi::Irc;
  30 
  31 # str remove_vowels($string)
  32 # returns random-coloured string
  33 sub remove_vowels {
  34 	my ($string) = @_;
  35 	$string =~ s/[eyuioa]//gi;
  36 	return $string;
  37 }
  38 
  39 # void rsay($text, $server, $destination)
  40 # handles /rsay
  41 sub rsay {
  42 	my ($text, $server, $dest) = @_;
  43 
  44 	if (!$server || !$server->{connected}) {
  45 		Irssi::print("Not connected to server");
  46 		return;
  47 	}
  48 
  49 	return unless $dest;
  50 	if ($dest->{type} eq "CHANNEL" || $dest->{type} eq "QUERY") {
  51 		$dest->command("/msg " . $dest->{name} . " " . remove_vowels($text));
  52 	}
  53 }
  54 
  55 # void rme($text, $server, $destination)
  56 # handles /rme
  57 sub rme {
  58 	my ($text, $server, $dest) = @_;
  59 
  60 	if (!$server || !$server->{connected}) {
  61 		Irssi::print("Not connected to server");
  62 		return;
  63 	}
  64 
  65 	return unless $dest;
  66 	if ($dest->{type} eq "CHANNEL" || $dest->{type} eq "QUERY") {
  67 		$dest->command("/me " . remove_vowels($text));
  68 	}
  69 }
  70 
  71 # void rtopic($text, $server, $destination)
  72 # handles /rtopic
  73 sub rtopic {
  74 	my ($text, $server, $dest) = @_;
  75 
  76 	if (!$server || !$server->{connected}) {
  77 		Irssi::print("Not connected to server");
  78 		return;
  79 	}
  80 
  81 	return unless $dest;
  82 	if ($dest->{type} eq "CHANNEL") {
  83 		$dest->command("/topic " . remove_vowels($text));
  84 	}
  85 }
  86 
  87 Irssi::command_bind("vsay", "rsay");
  88 Irssi::command_bind("vtopic", "rtopic");
  89 Irssi::command_bind("vme", "rme");
  90 
  91 # changes:
  92 #
  93 # 07.02.2002: Initial release (v1.0)