Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Usage:
- # /filter <filter> <your_message>
- # feel free to add your own filters
- use strict;
- use vars qw($VERSION %IRSSI);
- use Irssi qw(command_bind signal_add);
- use IO::File;
- $VERSION = '1.0';
- %IRSSI = (
- authors => '2ck',
- contact => 'anon@no_contact.com',
- name => 'filters',
- description => 'Send your text through predefined filters',
- license => 'Public domain',
- );
- sub filter {
- my ($data, $server, $witem) = @_;
- my @filters = qw(b1ff pirate kenny chef uniencode cowsay eleet pig rot13 morse jokertext);
- if (!$server || !$server->{connected}) {
- Irssi::print("Not connected to server");
- return;
- }
- if ($data)
- {
- my ($filter, $orig) = split /\s/, $data, 2;
- my $filtered = "";
- my @match;
- if (@match = grep(/^($filter)/i, @filters))
- {
- $filter = join '|', @match;
- if ($filter eq "morse")
- {
- $filter = $filter . " -s";
- }
- }
- else
- {
- Irssi::print("Not a valid filter");
- return 1;
- }
- $filtered = qx(echo "$orig" | $filter | censor);
- if ($filter =~ /morse/)
- {
- $filtered =~ s/\n\s\n/ \/ /g;
- $filtered =~ s/\n/ /g;
- }
- foreach (split /\n/, $filtered)
- {
- $server->command("MSG $witem->{name} $_");
- }
- }
- }
- command_bind("filter", \&filter);
Advertisement
Add Comment
Please, Sign In to add comment