# Miodek 1.0.2
#
# Lam 10-11.9.2001 + póĽniejsze zmiany słownika (głównie YagoDa)
#
# Pewnie ten skrypt jest napisany Ľle, co prawdopodobnie wynika z faktu, że
# to w ogóle mój pierwszy skrypt w perlu, ale cóż, na pewno ludzie, których
# ten skrypt kopie s± głupsi od niego :)
#
# Słownik jest wynikiem nocnego przegl±dania logów z irca (głównie
# grepowania po "sh" oraz "kunia") i powiększa się podczas każdej rozmowy :)
#
# 10:32 <aska|off> hm... to u was za kopiom???????
# 10:32 <aska|off> ehhee za kcenie??????
#
# Miodek 2.0 z obsług± regexów i słowników w plikach był w
# przygotowaniu, ale po padzie dysku straciłem ochotę odzyskiwania go.
# Na jaki¶ czas.

use Irssi;
use strict;
use vars qw($VERSION %IRSSI);
$VERSION = "1.0.2";
%IRSSI = (
	authors => "Leszek Matok, Andrzej Jagodziński",
	contact => "lam\@lac.pl",
	name => "miodek",
	description => "Simple wordkick system, with extended polish dictionary for channels enforcing correct polish.",
	license => "GPLv2",
	changed => "10.3.2002 20:10"
);


my $miodek = '
# moje własne dopiski :> (by yagus)

szypko          szybko
wogule          w ogole
qrva            panna lekkich obyczajow
drobiask        drobiazg
ogladash        ogl±dasz
przeciesh       przecież
zeszycikof      zeszytów
widzish         widzisz
JESOOO          Jezu
jesooooooo      Jezu
jesoooooooo     Jezu
jesooooooooo    Jezu
jesoooooooooo   Jezu
jesooooooooooo  Jezu
jesoooooooooooo Jezu
zgadzash        zgadzasz
jesooo          Jezu
jesoooo         Jezu
jesooooo        Jezu
jesoooooo       Jezu
zobaczysh       zobaczysz
pokonash        pokonasz
nawidzish       nawidzisz
myslish         myślisz
komplexof       kompleksów
chujq           członku
moofi           mówi
umiesh          umiesz
lubish          lubisz
tilaf           T.Love
wjesz           wiesz
priff           priv
prif            priv
lukof           Łuków
lukoof          Łuków
kad             sk±d
kąd             sk±d
wlosoof         włosów
wlosof          włosów
dobzie          dobrze
fogóle          w ogóle 
fogole          w ogóle
wogóle          w ogóle
wogole          w ogóle
pishesz         piszesz
pishesh         piszesz
mooofish        mówisz
uwazash         uważasz
slyshysh        słyszysz
zaparofaly      zaparowały
wyprafiash      wyprawiasz
wyprafiasz      wyprawiasz
znof            znów
idziesh         idziesz
grash           grasz
moofił          mówił
moofil          mówił
qlfa            kurwa
dopsie          dobrze
schodof         schodów
pierdolic       kochać
pierdolić       kochać
jebać           uprawiać miło¶ć
jebac           uprawiać miło¶ć
pierdolec       kochanek
psyjechac       przyjechać
kces            chcesz
przyjebal       pokochał
przyjebał       pokochał
ujebal          pokochał 
zajebal         zakochał
ujebał          pokochał
zajebał         zakochał
chuja           członka
huja            członka
pierdoli        kocha
odwiezesh       odwieziesz
bedziesh        będziesz
mooofiles       mówiłe¶
moofiles        mówiłe¶
mofi            mówi
dogryzash       dogryzasz
terash          teraz
tfooj           twój
dorosniesh      doro¶niesz
pofiem          powiem
poffiem         powiem
dopla           dobra
doblam          dobra
# typowe kretynizmy (90% by Lam)
tesh            też
tesz            też
tysh            też
tysz            też
jush            już
jusz            już
ush             już
mash            masz
cush            cóż
coosh           cóż
cosh            cóż
robish          robisz
jesh            jesz
# qrwa          kurwa
kurfa           kurwa
qrfa            kurwa
kofam           kocham
koffam          kocham
kofany          kochany
koffany         kochany
kofana          kochana
koffana         kochana
moofie          mówię
moof            mów
moofisz         mówisz
moofish         mówisz
mofie           mówię
mof             mów
mofisz          mówisz
mofish          mówisz
pofiem          powiem
gadash          gadash
wiesh           wiesz
fiesh           wiesz
fiem            wiem
# tego wprost nienawidzę!
KCE             chcę
kce             chcę
kcem            chcę
kcesz           chcesz
kcesh           chcesz
moshe           może
mosze           może
moshna          można
# widziałem jak jaki¶ czik o inteligencji ameby pisał "moszna", ale smaczek ;)
bosh            boże
boshe           boże
boshesh         boże
jesu            Jezu
joosh           już
# no tego to ja bym nie wymy¶lił :)
fokle           w ogóle
psheprasham     przepraszam
# a to słowo ma tyle wersji.. ci ludzie naprawdę się nudz±.
dobshe          dobrze
dopshe          dobrze
dopsze          dobrze
dopsz           dobrze
topshe          dobrze
topsze          dobrze
topsz           dobrze
topla           dobra
toplanoc        dobranoc
dopry           dobry
dopra           dobra
# od tego momentu wył±cznie wyłapane na ircu
napish          napisz
palish          palisz
trafke          trawkę
trafka          trawka
slofa           słowa
pishe           pisze
piszem          piszę
moozg           mózg
kref            krew
krfi            krwi
naprafde        naprawdę
zafsze          zawsze
dziendopry      dzieńdobry
snoof           snów
kopiom          kopi±
kcenie          chcenie
kcę             chcę
kórfa           kurwa
kórwa           kurwa
mooj            mój
jesoo           Jezu
loodzie         ludzie
loodzi          ludzi
ktoora          która
ktoory          który
ktoore          które
gloopi          głupi
gloopia         głupia
goopi           głupi
goopia          głupia
gupi            głupi
gupia           głupia
siem            się
pshesada        przesada
booziak         buziak
booziaki        buziaki
mogem           mogę
bes             bez
spowrotem       z powrotem
poczeba         potrzeba
niepoczeba      nie potrzeba
czeba           trzeba
glofa           głowa
glofe           głowę
suonce          słońce
fitam           witam
fitaj           witaj
fitajcie        witajcie
slofnik         słownik
# usunięte w wyniku batalii o Jerzego Owsiaka. Prawdopodobnie niedługo
# zobaczymy to słowo w słowniku. Ciekawe co napisz± pod hasłem "siemanie"?
# siema         się ma
# siemasz       się masz
cieshysh        cieszysz
tfierdzish      twierdzisz
jezd            jest
brzytkie        brzydkie
brzytki         brzydki
brzytka         brzydka
otfarty         otwarty
otfarte         otwarte
otfarta         otwarta
leprzy          lepszy
leprze          lepsze
leprza          lepsza
lepshy          lepszy
lepshe          lepsze
lepsha          lepsza
zief            ziew
kfila           chwila
kfile           chwilę
kfilka          chwilka
kfilke          chwilkę
bendem          będę
lecem           lecę
pifo            piwo
pifko           piwko
pifkiem         piwkiem
bszytkie        brzydkie
bszytki         brzydki
bszytka         brzydka
goofny          główny
goofno          gówno
muoda           młoda
miaua           miała
miauam          miałam
tszeba          trzeba
wporzo          w porzo
# na pro¶bę Upiora trochę bluzgów + nowe by yagoda
kurwa           dziewica orleańska
kurwy           panny
kurwie          pannie
kurewka         panienka
kurwo           panno
qrwa            prostytutka
# eksperymentalne wielkie litery :-)
CHUJ            członeczek
HUJ             członeczek
KURWA           panienka
KURWY           panny
CIPA            pochwa
PIZDA           pochwa
SKURWYSYN       Protas
chuj            członek
chuje           członki
chujowo         członkowsko
chujowy         członkowski
chujowa         członkowska
chujowe         członkowskie
huj             członek
huje            członki
hujowo          członkowsko
hujowy          członkowski
hujowa          członkowska
hujowe          członkowskie
cipa            pochwa
pizda           pochwa
pierdolony      kochany
pierdolona      kochana
pierdolone      kochane
jebany          kochany
jebana          kochana
jebane          kochane
skurwysyn       Protas
skurwysynu      synu prostytutki
skurwiel        Lam
skurwielu       z kur wielu
pierdole        kocham
jebie           kocham
pierdol         kochaj
kutas           penis
cipka           pochewka
';

my %slowa;
my $ilosc_slow = 0;

foreach my $linia (split(/\n/, $miodek)) {
	chomp $linia;
	next if ($linia =~ /^#/ || $linia eq "");

	my ($org, $popraw) = split(/\s+/, $linia, 2);
	$slowa{$org} = $popraw;
	$ilosc_slow++
}

sub server_event {
	my ($server, $data, $nick, $address) = @_;
	my ($type, $data) = split(/ /, $data, 2);
	return unless ($type =~ /privmsg/i);
	my ($target, $tekst) = split(/ :/, $data, 2);
	my $powod;

	# pozbywam się syfów kontrolnych, oraz ^A z CTCP
	# może jest jaka¶ funkcja w irssi do wycinania kolorów mircowych?
	$tekst =~ s/[]//g;

	foreach my $wyraz (split(/[\s,.;!?\/"`':()_-]/,$tekst)) {
		my $popraw = $slowa{$wyraz};
		if ($popraw) {
			if ($powod) {
				$powod = $powod . ", ";
			}
			$powod = $powod . $popraw;
		}
	}

	if ($powod && $target =~ /^[#!+&]/ ) {
		$server->command("/kick $target $nick $powod");
		Irssi::print "%Rkop%n ($target): %c$nick%n, powod: $powod";
	}
}

# Musiałem się podczepić pod server event zamiast event privmsg, bo irssi
# wycina CTCP z PRIVMSG (co jest dla mnie zachowaniem dziwnym).
Irssi::signal_add_last("server event", "server_event");
Irssi::print "%GMiodek%c:%n ilo¶ć słów w słowniku: $ilosc_slow";
