# 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        drobiazg
ogladash        oglądasz
przeciesh       przecież
zeszycikof      zeszytów
widzish         widzisz
JESOOO          Jezu
jesooooooo      Jezu
jesoooooooo     Jezu
jesooooooooo    Jezu
jesoooooooooo   Jezu
jesooooooooooo  Jezu
jesoooooooooooo Jezu
zgadzash        zgadzasz
jesooo          Jezu
jesoooo         Jezu
jesooooo        Jezu
jesoooooo       Jezu
zobaczysh       zobaczysz
pokonash        pokonasz
nawidzish       nawidzisz
myslish         mylisz
komplexof       kompleksów
chujq           członku
moofi           mówi
umiesh          umiesz
lubish          lubisz
tilaf           T.Love
wjesz           wiesz
priff           priv
prif            priv
lukof           Łuków
lukoof          Łuków
kad             skąd
kšd             skąd
wlosoof         włosów
wlosof          włosów
dobzie          dobrze
fogóle          w ogóle 
fogole          w ogóle
wogóle          w ogóle
wogole          w ogóle
pishesz         piszesz
pishesh         piszesz
mooofish        mówisz
uwazash         uważasz
slyshysh        słyszysz
zaparofaly      zaparowały
wyprafiash      wyprawiasz
wyprafiasz      wyprawiasz
znof            znów
idziesh         idziesz
grash           grasz
moofił          mówił
moofil          mówił
qlfa            kurwa
dopsie          dobrze
schodof         schodów
pierdolic       kochać
pierdolić       kochać
jebać           uprawiać miłość
jebac           uprawiać miłość
pierdolec       kochanek
psyjechac       przyjechać
kces            chcesz
przyjebal       pokochał
przyjebał       pokochał
ujebal          pokochał 
zajebal         zakochał
ujebał          pokochał
zajebał         zakochał
chuja           członka
huja            członka
pierdoli        kocha
odwiezesh       odwieziesz
bedziesh        będziesz
mooofiles       mówiłeś
moofiles        mówiłeś
mofi            mówi
dogryzash       dogryzasz
terash          teraz
tfooj           twój
dorosniesh      dorośniesz
pofiem          powiem
poffiem         powiem
dopla           dobra
doblam          dobra
# typowe kretynizmy (90% by Lam)
tesh            też
tesz            też
tysh            też
tysz            też
jush            już
jusz            już
ush             już
mash            masz
cush            cóż
coosh           cóż
cosh            cóż
robish          robisz
jesh            jesz
# qrwa          kurwa
kurfa           kurwa
qrfa            kurwa
kofam           kocham
koffam          kocham
kofany          kochany
koffany         kochany
kofana          kochana
koffana         kochana
moofie          mówię
moof            mów
moofisz         mówisz
moofish         mówisz
mofie           mówię
mof             mów
mofisz          mówisz
mofish          mówisz
pofiem          powiem
gadash          gadash
wiesh           wiesz
fiesh           wiesz
fiem            wiem
# tego wprost nienawidzę!
KCE             chcę
kce             chcę
kcem            chcę
kcesz           chcesz
kcesh           chcesz
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            Jezu
joosh           już
# no tego to ja bym nie wymyślił :)
fokle           w ogóle
psheprasham     przepraszam
# a to słowo ma tyle wersji.. ci ludzie naprawdę się nudzą.
dobshe          dobrze
dopshe          dobrze
dopsze          dobrze
dopsz           dobrze
topshe          dobrze
topsze          dobrze
topsz           dobrze
topla           dobra
toplanoc        dobranoc
dopry           dobry
dopra           dobra
# od tego momentu wyłącznie wyłapane na ircu
napish          napisz
palish          palisz
trafke          trawkę
trafka          trawka
slofa           słowa
pishe           pisze
piszem          piszę
moozg           mózg
kref            krew
krfi            krwi
naprafde        naprawdę
zafsze          zawsze
dziendopry      dzieńdobry
snoof           snów
kopiom          kopią
kcenie          chcenie
kcę             chcę
kórfa           kurwa
kórwa           kurwa
mooj            mój
jesoo           Jezu
loodzie         ludzie
loodzi          ludzi
ktoora          która
ktoory          który
ktoore          które
gloopi          głupi
gloopia         głupia
goopi           głupi
goopia          głupia
gupi            głupi
gupia           głupia
siem            się
pshesada        przesada
booziak         buziak
booziaki        buziaki
mogem           mogę
bes             bez
spowrotem       z powrotem
poczeba         potrzeba
niepoczeba      nie potrzeba
czeba           trzeba
glofa           głowa
glofe           głowę
suonce          słońce
fitam           witam
fitaj           witaj
fitajcie        witajcie
slofnik         słownik
# 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        cieszysz
tfierdzish      twierdzisz
jezd            jest
brzytkie        brzydkie
brzytki         brzydki
brzytka         brzydka
otfarty         otwarty
otfarte         otwarte
otfarta         otwarta
leprzy          lepszy
leprze          lepsze
leprza          lepsza
lepshy          lepszy
lepshe          lepsze
lepsha          lepsza
zief            ziew
kfila           chwila
kfile           chwilę
kfilka          chwilka
kfilke          chwilkę
bendem          będę
lecem           lecę
pifo            piwo
pifko           piwko
pifkiem         piwkiem
bszytkie        brzydkie
bszytki         brzydki
bszytka         brzydka
goofny          główny
goofno          gówno
muoda           młoda
miaua           miała
miauam          miałam
tszeba          trzeba
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";
