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)