// 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 _event_test parametry: krotki opis: iha _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ê 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 - * - 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|-i|-B|-d|-m|-o]": -a, --active dostêpne -A, --away zajête -i, --inactive niedostêpne -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 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 metakoctact -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 manajwiê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 przypdakach, 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. 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