// opis komend ogólnych klienta
// (c) copyright 2001-2003 wojtek kaniewski <wojtekka@irc.pl>
// (c) copyright      2004 piotr kupisiewicz <deletek@ekg2.org>

!
	parametry:  [opcje] <polecenie>
	krotki opis: synonim dla %Texec%n

?
	parametry:  [polecenie] [zmienna]
	krotki opis: synonim dla %Thelp%n

_addtab
	parametry: 
	krotki opis: dodaje do listy dopełniania TABem

_debug
	parametry:  <tekst>
	krotki opis: wyświetla podany tekst w oknie debug

_debug_dump
	parametry: 
	krotki opis: zrzuca debug do pliku

_deltab
	parametry: 
	krotki opis: usuwa z listy dopełniania TABem

_desc
	parametry: [-/opis]
	krotki opis: zmienia opis nie zmieniając stanu

_fds
	parametry: 
	krotki opis: wyświetla otwarte pliki

_msg
	parametry: 
	krotki opis: udaje, że wysyła wiadomość

_queries
	parametry: 
	krotki opis: wyświetla listę zapytań

_query
	parametry:  <zapytanie> [parametry...]
	krotki opis: generuje zapytanie

_segv
	parametry: 
	krotki opis: wywołuje naruszenie segmentacji pamięci

_watches
	parametry: 
	krotki opis: wyświetla listę przeglądanych deskryptorów

add
	parametry:  [numer] [alias] [opcje]
	krotki opis: dodaje użytkownika do listy kontaktów
	
	-f, --find [alias]  dodaje ostatnio wyszukaną osobę
	
	
	W przypadku opcji %T--find%n alias jest wymagany, jeśli 
	w ostatnim wyszukiwaniu nie znaleziono pseudonimu. Pozostałe 
	opcje wykorzystywane są zależnie od protokołu. 
	W oknie rozmowy z kimś spoza naszej listy kontaktów jako parametr 
	można podać sam alias.

alias
	parametry:  [opcje]
	krotki opis: zarządzanie aliasami
	
	  -a, --add <alias> <komenda>     dodaje alias
	
	  -A, --append <alias> <komenda>  dodaje komendę do aliasu
	
	  -d, --del <alias>|*             usuwa alias
	
	 [-l, --list] [alias]             wyświetla listę aliasów
	
	
	W komendzie można użyć formatów od %T\%1%n do %T\%9%n i w ten sposób ustalić kolejność przekazywanych argumentów.  W aliasie złożonym z wielu komend do przekazania argumentów używamy formatu %T\%*Tn.

at
	parametry:  [opcje]
	krotki opis: planuje wykonanie komend
	
	  -a, --add [nazwa] <czas>[/częst.] <komenda>  tworzy nowy plan
	
	  -d, --del <nazwa>|*                   usuwa plan
	
	 [-l, --list] [nazwa]                   wyświetla listę planów
	
	
	Czas podaje się w formacie [[[yyyy]mm]dd]HH[:]MM[.SS], gdzie 
	%Tyyyy%n to rok, %Tmm%n to miesiąc, %Tdd%n to dzień, %THH:MM%n 
	to godzina, a %T.SS%n to sekundy. Minimalny format to %THH:MM%n 
	(dwukropek można pominąć). Po kropce można podać sekundy, a przed 
	godziną odpowiednio: dzień miesiąca, miesiąc, rok. Jeśli podanie 
	zostana częstotliwość, wyrażona w sekundach lub za pomocą przyrostków 
	takich, jak dla komendy %Ttimer%n, to komenda będzie wykonywana 
	w zadanych odstepach czasu od momentu jej pierwszego wykonania.

beep
	parametry:  
	krotki opis: wydaje dźwięk

bind
	parametry:  [opcje]
	krotki opis: przypisywanie akcji klawiszom
	
	  -a, --add <sekwencja> <akcja>   przypisuje nową sekwencję
	
	  -d, --del <sekwencja>           usuwa podaną sekwencję
	
	 [-l, --list] [sekwencja]         wyświetla przypisane sekwencje
	
	  -L, --list-default [sekwencja]  j.w. plus domyślne sekwencje
	
	  -S, --set <sekwencja>           binduje klawisze pod sekwencję
	
	  -e, --exec <akcja>              wykonuje akcję
	
	
	Dostępne sekwencje to: Ctrl-<znak>, Alt-<znak>, F<liczba>, Enter, 
	Backspace, Delete, Insert, Home, End, Left, Right, Up, Down, PageUp, PageDown.
	
	
	Dostępne akcje to: backward-word, forward-word, kill-word, toggle-input, 
	cancel-input, backward-delete-char, beginning-of-line, end-of-line, delete-char, 
	backward-page, forward-page, kill-line, yank, accept-line, line-discard, 
	quoted-insert, word-rubout, backward-char, forward-char, previous-history, 
	next-history, complete, quick-list, toggle-contacts, next-contacts-group, 
	ignore-query, forward-contacts-page, backward-contacts-page, forward-contacts-line, 
	backward-contacts-line, previous-only-history, next-only-history,
	backward-lastlog-page, forward-lastlog-page.
	
	Każda inna akcja będzie traktowana jako komenda do wykonania.

clear
	parametry: 
	krotki opis: czyści ekran

conference
	parametry:  [opcje]
	krotki opis: zarządzanie konferencjami
	
	  -a, --add [#nazwa] <numer/alias/@grupa>  tworzy nową konferencję
	
	  -j, --join [#nazwa] <numer/alias>  przyłącza osobę do konferencji
	
	  -d, --del <#nazwa>|*        usuwa konferencję
	
	  -i, --ignore <#nazwa>       oznacza konferencję jako ignorowaną
	
	  -u, --unignore <#nazwa>     oznacza konferencję jako nieignorowaną
	
	  -r, --rename <#old> <#new>  zmienia nazwę konferencji
	
	  -f, --find <#nazwa>         wyszukuje uczestników w katalogu
	
	 [-l, --list] [#nazwa]        wyświetla listę konferencji
	
	
	Dodaje nazwę konferencji i definiuje, kto bierze w niej udział. 
	Kolejne numery, pseudonimy lub grupy mogą być oddzielone przecinkiem lub spacją.

dcc
	parametry:  <komenda> [opcje]
	krotki opis: obsługa bezpośrednich połączeń
	  
	  [r]send <numer/alias> <ścieżka>  wysyła podany plik
	
	  get [numer/alias/#id]            akceptuje przysyłany plik
	
	  resume [numer/alias/#id]         wznawia pobieranie pliku
	
	  [r]voice <numer/alias/#id>       rozpoczyna rozmowę głosową
	
	  close <numer/alias/#id>          zamyka połączenie
	
	  list                             wyświetla listę połączeń
	
	
	Połączenia bezpośrednie wymagają włączonej opcji %Tdcc%n. Komendy %Trsend%n 
	i %Trvoice%n wysyłają żądanie połączenia się drugiego klienta z naszym i są 
	przydatne, gdy nie jesteśmy w stanie się z nim sami połączyć.

del
	parametry:  <numer/alias>|*
	krotki opis: usuwa użytkownika z listy kontaktów

echo
	parametry:  [tekst]
	krotki opis: wyświetla podany tekst

eval
	parametry:  <polecenie(a)>
	krotki opis: wykonuje podane polecenia
	
	Wykonuje podane polecenia odzdzielone spacjami. W przypadku gdy polecenie 
	zawiera spacje należy użyć cudzysłowiów. Ze względu na budowę klienta, 
	polecenia, numery i aliasy %Tnie będą%n dopełniane Tabem.

exec
	parametry:  [opcje] <polecenie>
	krotki opis: uruchamia polecenie systemowe
	
	  -m, --msg  [numer/alias]  wysyła wynik do danej osoby
	
	  -b, --bmsg [numer/alias]  wysyła wynik w jednej wiadomości
	
	
	Poprzedzenie polecenia znakiem ,,%T^%n'' ukryje informację o zakończeniu. 
	Zapisanie opcji wielkimi literami (np. %T-B%n) spowoduje umieszczenie polecenia 
	w pierwszej linii wysyłanego wyniku. Ze względu na budowę klienta, numery 
	i aliasy %Tnie będą%n dopełniane Tabem.

for
	parametry:  <opcje> <sesje/okna/alias>|* <polecenie>
	krotki opis: wykonuje polecenie dla danych/wszystkich sesji/okien/użytkowników
	
	  -s, --sessions [nazwa]  wykonuje polecenie dla podanych sesji
	
	  -u, --users [nazwa]     wykonuje polecenie dla podanych użytkowników
	
	  -w, --windows [id]      wykonuje polecenie dla podanych okien
	
	
	Można podać ,,%T*%n'' zamiast nazwy/id, tak aby komenda była wykonana dla wszystkich elementów.
	
	Polecenie może zawierać elementy specjalne, tzn pola ,,%T\%1%n'' i ,,%T\%2%n''.
	
	
	Oznaczają kolejno:
	
	  dla sesji: nazwa, uid
	
	  dla użytkowników: alias, uid
	
	  dla okien: alias, uid

help
	parametry:  [polecenie] [zmienna]
	krotki opis: wyświetla informację o poleceniach
	
	Możliwe jest wyświetlenie informacji o zmiennych, jeśli jako polecenie 
	poda się %Tset%n

ignore
	parametry:  [numer/alias] [poziom]
	krotki opis: dodaje do listy ignorowanych
	
	Dostępne poziomy ignorowania:
	
	  - status - całkowicie ignoruje stan
	
	  - descr - ignoruje tylko opisy
	
	  - notify - nie wyświetla zmian stanu
	
	  - msg - ignoruje wiadomości
	
	  - dcc - ignoruje połączenia DCC
	
	  - events - ignoruje zdarzenia związane z użytkownikiem
	
	  - log - nie zapisuje w archiwum wiadomości użytkownika
	
	  - * - wszystkie poziomy
	
	
	Poziomy można łączyć ze sobą za pomocą przecinka lub ,,%T|%n''.

last
	parametry:  [opcje] <alias>|*
	krotki opis: wyświetla lub czyści ostatnie wiadomości
	
	  -c, --clear [numer/alias]      czyści podane wiadomości lub wszystkie
	
	  -s, --stime [numer/alias]      wyświetla czas wysłania wiadomości
	
	  -n, --number <n> [numer/alias] wyświetla %Tn%n ostatnich wiadomości
	
	  [numer/alias]                  wyświetla ostatnie wiadomości
	
	
	W przypadku opcji %T--stime%n czas wyświetlany jest ,,inteligentnie'' zgodnie 
	ze zmienną %Ttime_deviation.%n

list
	parametry:  [alias|@grupa|opcje|metakontakt|sesja/alias]
	krotki opis: zarządzanie listą kontaktów
	
	Wyświetlanie osób o podanym stanie "list [-a|-A|-B|-i|-I|-d|-m|-n|-o|-O]":
	
	  -a, --active           dostępne
	
	  -A, --away             zajęte
	
	  -n, --notavail         niedostępne
	  -i, --inactive         niedostępne
	
	  -I, --invisible        niewidoczne
	
	  -B, --blocked          blokujące nas
	
	  -d, --description      osoby z opisem
	
	  -m, --member <@grupa>  osoby należące do danej grupy
	
	  -o, --offline          osoby dla których jesteśmy niedostępni
	
	  -O, --online           osoby dla których zawsze jesteśmy widoczni
	
	Wyświetlanie członków grupy: "list @grupa". Wyświetlanie osób spoza grupy: "list !@grupa".

metacontact
	parametry:  [opcje]
	krotki opis: zarządzanie metakontaktami
	
	  -a, --add <nazwa>      dodaje metakontakt o podanej nazwie
	
	  -d, --del <nazwa>      usuwa metakontakt o podanej nazwie
	
	  -i, --add-item <nazwa> <nazwa_sesji> <nazwa_kontaktu> <prio>	dodaje do metakontaktu kontakt
	
	  -r, --del-item <nazwa> <nazwa_sesji> <nazwa_kontaktu>	usuwa z metakontaktu kontakt
	
	  -l, --list             wyświetla listę wszystkich metakontaktów
	
	  <nazwa>                wyświetla listę kontaktów danego metakontaktu
	
	
	Przykładowe dodanie metakontaktu może wyglądać następująco:
	
	metacontact -a metakontakt
	
	metacontact -i metakontakt sesja nazwa_użytkownika 1
	
	
	Metakontakty pozwalają na stworzenie kontaktu zawierającego inne kontakty. 
	query metakontakt otwiera rozmowę z osobą, która jest aktualnie dostępna 
	i ma największy priorytet. W przypadku, w którym żaden z kontaktów nie jest 
	dostępny, wiadomość kierowana jest do osoby o największym priorytecie.
	
	
	Funkcje korzystające z metakontaktów to:
	
	  query <nazwa>        rozpoczyna rozmowę
	
	  list <nazwa>         pokazuje aktualny stan metakontaktu.%n

on
	parametry:  [opcje]
	krotki opis: zarządzanie zdarzeniami
	
	  -a, --add <zdarzenie> <priorytet> <założenia> <komenda>  dodaje zdarzenie
	
	  -d, --del <numer>|*         usuwa zdarzenie o podanym numerze
	
	 [-l, --list] [numer]         wyświetla listę zdarzeń
	
	
	Dostępne zdarzenia można znaleźć w pliku events.txt w dokumentacji programu.
	
	
	Założenie mogą być następujące:
	
	  ,,%T=%n''  - jest takie same i wielkości liter nie mają znaczenia
	
	  ,,%T==%n'' - jest takie same i wielkości liter mają znaczenie
	
	  ,,%T+%n''  - pierwszy ciąg zawiera się w drugim, wielkość liter nie ma znaczenia
	
	  ,,%T++%n'' - pierwszy ciąg zawiera się w drugim, wielkość liter ma znaczenie
	
	
	Założenia można łączyć poprzez ,,|'' (lub) i ,,&'' (i). Są to standardowe 
	operatory logiczne.Zaprzeczenia tworzymy przez dodanie ,,%T!%n'' przed 
	założeniem, np. ,,%T!+%n''. Można używać \%1 zamiast nazwy nadawcy oraz \%2 
	zamiast ewentualnych parametrów. Gdy potrzeba użyć spacji w założeniu należy 
	całe założenie ująć w cudzysłów. 
	
	
	W założeniach można używać:
	
	  \%1  - jako uid sprawcy
	
	  \%2  - jako pseudonim sprawcy, jeżeli nie istnieje na liście kontaktów to uid
	
	  \%3  - treść wiadomości, opis czy też inne dane przekazane przez wydarzenie
	
	
	Przykładowe założenie może mieć postać: ,,%T\%1=nick&\%1!=nick2|\%2+tekst%n''
	
	
	W przypadkach, w których chcemy, aby zdarzenie dotyczyło wszystkich możliwych 
	sytuacji należy zamiast założenia użyć ,,%T*%n''. Nazwy zdarzeń mogą być 
	roździelone przecinkiem.
	
	
	  - * - wszystkie zdarzenia
	
	
	W przypadku gdy istnieje wiele zdarzeń pasujących do kryterium (np. * i nick) 
	wykonywane będzie to z większym priorytetem. Można podać więcej komend, 
	oddzielając je średnikiem. W komendzie, %T\%1%n zostanie zastąpione numerkiem 
	sprawcy zdarzenia, a jeśli istnieje on na naszej liście kontaktów, %T\%2%n 
	będzie zastąpione jego pseudonimem. Zamiast %T\%3%n i %T\%4%n wpisana będzie 
	treść wiadomości, opis użytkownika, całkowita ilość nowych wiadomości e-mail 
	lub nazwa pliku - w zależności od zdarzenia. Format %T\%4%n różni się od %T\%3%n 
	tym, że wszystkie niebiezpieczne znaki, które mogłyby zostać zinterpretowane 
	przez shell, zostaną poprzedzone backslashem. Używanie %T\%3%n w przypadku 
	komendy ,,exec'' jest %Tniebezpieczne%n i, jeśli naprawdę musisz wykorzystać 
	treść wiadomości lub opis, użyj %T"\%4"%n (w cudzysłowach).

play
	parametry:  <plik>
	krotki opis: odtwarza plik dźwiękowy

plugin
	parametry:  [-|+][nazwa][opcje] [prio]
	krotki opis: ładuje lub usuwa rozszerzenie ekg2
	
	  -d, --default     ustawia domyślne priorytety pluginom
	
	Usuwa lub dodaje plugin ekg2. Drugi parametr pozwala ustawić priorytet
	pluginu, co pozwala ustawić kolejność przetwarzania instrukcji przez
	pluginy.

query
	parametry:  <numer|alias|@grupa|metakontakt|sesja/alias|sesja/numer> [wiadomość]
	krotki opis: włącza rozmowę
	
	Można podać większą ilość odbiorców oddzielając ich numery lub pseudonimy 
	przecinkiem (ale bez odstępów). W takim wypadku zostanie rozpoczęta rozmowa grupowa.

queue
	parametry:  [opcje]
	krotki opis: zarządzanie wiadomościami do wysłania po połączeniu
	
	  -c, --clear [numer/alias]  usuwa podane wiadomości lub wszystkie
	
	  [numer/alias]              wyświetla kolejkę wiadomości
	
	
	Podając numer lub alias, należy podać ten, który był używany przy wysyłaniu 
	wiadomości, lub nazwę okna, w którym wiadomości były wysyłane.

quit
	parametry:  [powód/-]
	krotki opis: wychodzi z programu
	
	Podanie ,,%T-%n'' zamiast powodu spowoduje wyczyszczenie bez względu na ustawienia 
	zmiennych.

reload
	parametry:  
	krotki opis: wczytuje pliki konfiguracyjny, pluginy oraz sesje

save
	parametry:  
	krotki opis: zapisuje ustawienia programu
	
	Aktualny stan zostanie zapisany i będzie przywrócony przy następnym uruchomieniu 
	programu. 

say
	parametry:  [tekst]
	krotki opis: wymawia tekst
	
	  -c, --clear  usuwa z bufora tekst do wymówienia
	
	
	Polecenie wymaga zdefiniowana zmiennej %Tspeech_app%n

session
	parametry:  [opcje]
	krotki opis: zarządzanie sesjami
	
	 <uid>               informacje o sesji
	
	  -a, --add <uid>    tworzy nową sesję
	
	  -d, --del <uid>    usuwa sesję
	
	 [-l, --list]        wyświetla listę
	
	 [-g, --get] [<uid>] <opcja>
	
	                     wyświetla opcję sesji
	
	 [-s, --set] [<uid>] <opcja> <wartość>
	
	                     zmienia opcję sesji
	
	 [-s, --set] [<uid>] -<opcja>
	
	                     usuwa opcję sesji
	
	 [-w, --sw] <uid>    zmienia aktualną sesję
	
	
	Pamiętaj o tym, że uid ma postać <prefix>:<uid> np. %Tgg:12345%n.

set
	parametry:  [-]<zmienna> [[+/-]wartość]
	krotki opis: wyświetla lub zmienia ustawienia
	
	Użycie %Tset -zmienna%n czyści zawartość zmiennej. Dla zmiennych będącymi 
	mapami bitowymi można określić, czy wartość ma być dodana (poprzedzone plusem), 
	usunięta (minusem) czy ustawiona (bez prefiksu). Wartość zmiennej można wziąć 
	w cudzysłów.
	
	Jeżeli chcemy przełączyć wartość zmiennej typu bool używamy %T,t'%n zamiast ustawianej 
	wartości.
	
	Poprzedzenie opcji parametrem %T-a%n lub %T--all%n spowoduje wyświetlenie wszystkich, 
	nawet aktualnie nieaktywnych zmiennych.
	
	Parametr %T-q%n lub %T--quiet%n spowoduje, że informacja o nowej wartości zmiennej nie zostanie
	wyświetlona i nie zaznaczy zmiany konfiguracji.

status
	parametry:  [opcje]
	krotki opis: wyświetla aktualny stan
	
	  <uid> wyświetla aktualny stan dla konkretnej sesji

tabclear
	parametry:  [opcje]
	krotki opis: czyści listę nicków do dopełnienia
	
	  -o, --offline  usuwa tylko nieobecnych

timer
	parametry:  [opcje]
	krotki opis: zarządzanie timerami
	
	  -a, --add [nazwa] [*/]<czas> <komenda>  tworzy nowy timer
	
	  -d, --del <nazwa>|*                 zatrzymuje timer
	
	 [-l, --list] [nazwa]                 wyświetla listę timerów
	
	
	Czas, po którym wykonana zostanie komenda, podaje się w sekundach. Można też 
	użyć przyrostków %Td%n, %Th%n, %Tm%n, %Ts%n, oznaczających dni, godziny, 
	minuty, sekundy, np. 5h20m. Timer po jednorazowym uruchomieniu jest usuwany, 
	chyba że czas poprzedzimy wyrażeniem ,,%T*/%n''. Wtedy timer będzie uruchamiany 
	w zadanych odstępach czasu, a na liście będzie oznaczony gwiazdką.

unignore
	parametry:  <numer/alias>|*
	krotki opis: usuwa z listy ignorowanych osób

version
	parametry: 
	krotki opis: wyświetla wersję programu

window
	parametry:  <komenda> [numer_okna]
	krotki opis: zarządzanie oknami
	
	  active               przełącza do pierwszego okna,
	
	                       w którym coś się dzieje
	
	  clear                czyści aktualne okno
	
	  kill [numer_okna]    zamyka aktualne lub podane okno
	
	  last                 przełącza do ostatnio wyświetlanego
	
	                       okna
	
	  list                 wyświetla listę okien
	
	  move <docelowe> [źródłowe] przesuwa okno
	opcja <docelowe> może przyjąć wartości ,,left'' i ,,right''
	
	  new [nazwa]          tworzy nowe okno
	
	  next                 przełącza do następnego okna
	
	  prev                 przełącza do poprzedniego okna
	
	  switch <numer_okna>  przełącza do podanego okna
	
	  refresh              odświeża aktualne okno

