1#!/usr/local/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
15use strict;
16use 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
28use Irssi;
29use Irssi::Irc;
30
31# str remove_vowels($string)
32# returns random-coloured string
33sub remove_vowels {
34	my ($string) = @_;
35	$string =~ s/[eyuioa]//gi;
36	return $string;
37}
38
39# void rsay($text, $server, $destination)
40# handles /rsay
41sub 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
57sub 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
73sub 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
87Irssi::command_bind("vsay", "rsay");
88Irssi::command_bind("vtopic", "rtopic");
89Irssi::command_bind("vme", "rme");
90
91# changes:
92#
93# 07.02.2002: Initial release (v1.0)
94