IRC/Inne, podstawowe komendy

< IRC

Oprócz podstawowych komend służących do obsługi kanałów, użytkowników i łączności z serwerem, istnieje też wiele innych dodatkowych komend, których znajomość nie jest konieczna, ale może czasem się przydać.

/Notice i /me

edytuj

/Notice i /me to dodatkowe komendy służące do wysyłania komunikatów na kanał lub do konkretnego użytkownika.

Komenda

/me tekst komunikatu

wysyła na dany kanał komunikat, który wygląda nieco inaczej od zwykłego tekstu na kanale. Komunikat "me" jest wyróżniany znakiem "*" i zaczyna się od nicka osoby wysyłającej. Np komenda wysłana przez użytkownika o nicku "kazio":

/me wita kolegów

wyświetli się na tym kanale jako:

 * kazio wita kolegów

gdy wysyłamy tę komendę z aktywnego okna danego kanału, można pominąć w niej nazwę tego kanału. Oprócz wyróżnienia gwiazdką i nickiem wiele klientów wyświetla teksty komunikatów wysyłanych komendą /me innym kolorem niż zwykłe teksty lub pogrubione. Ponadto, na kanały działające w trybie publicznym można wysyłać w ten sposób komunikaty bez wchodzenia na nie.

Działanie komendy

/notice nick tekst komunikatu

jest zbliżone do komendy /msg, występują tu jednak trzy różnice:

  • tekst komunikatu zawsze pokazuje się w aktualnie aktywnym oknie użytkownika, do którego się ten tekst wysyła - nie uruchamia ona zatem u niego żadnego nowego okna
  • tekst komunikatu jest wyróżniony znakiem "-" lub "*" i większość klientów wyróżnia go innym kolorem lub pogrubieniem podobnie jak to ma miejsce w przypadku komendy /me

Jest to więc w sumie komenda służąca do wysyłania krótkich, ale ważnych ostrzeżeń do innych użytkowników.

Komenda:

/away powód

przełącza nas w stan "nieobecności". Stosujemy ją, gdy pozostajemy połączeni z siecią IRC, ale nie śledzimy na bieżąco tego co się tam dzieje, bo np. pracujemy lub wyszliśmy akurat zrobić sobie herbatę. W efekcie tej komendy:

  • nasz klient wyśle na kanał komunikat informujący innych o naszym przejściu w stan spoczynku (tę opcję można w kliencie zwykle wyłączyć)
  • gdy ktoś sprawdzi nas komendą /whois nasz_nick otrzyma informację o tym, że jesteśmy "away" z powodem podanym w tej komendzie
  • na listach użytkowników generowanych komendami /names i /who przy naszym nicku będzie zaznaczone, że jesteśmy "away" (zwykle przy pomocy dużej litery "G" (od gone)
  • gdy ktoś będzie chciał z nami porozmawiać prywatnie za pomocą komend /msg, /query, a także będzie się z nami próbował łączyć komendami z rodziny dcc, otrzyma informację, że jesteśmy "away" z podaniem powodu zamieszczonego w komendzie.

Powrót do stanu aktywnego wykonuje się komendą:

/away

Lub w niektórych klientach:

/back

bez żadnych parametrów.

Niektóre klienty IRC da się tak skonfigurować, aby automatycznie przenosiły nas w stan "away", gdy odpowiednio długo nie wykonujemy żadnych działań oraz automatycznie przywracały nas w stan aktywny, gdy tylko podejmiemy jakieś działania. Niektóre klienty IRC posiadają też własne, niezależne od mechanizmów serwera metody obsługi "uśpienia" i "obudzenia", polegające np. na wysyłaniu ozdobnych, kolorowych tekstów na kanał i długich wyjaśnień w momencie, gdy ktoś do nas wysyła komunikat prywatny. Kolorowane i przesadnie rozbudowane komunikaty "away" są jednak na większości kanałów uważane za naruszenie netykiety, a użytkownika stosującego je może nawet spotkać zbanowanie.

/whowas, /notify, /ignore, /ison

edytuj

Komenda:

/whowas nick

działa z grubsza tak samo jak komenda /whois,lecz dotyczy ona osoby, która opuściła już sieć IRC. Jej działanie jest silnie zależne od konfiguracji serwera. Niektóre serwery w ogóle nie obsługują tej komendy, gdyż "zapominają" wszelkie informacje o każdym użytkowniku zaraz po tym jak się rozłączy, inne z kolei pamiętają opuszczających je użytkowników przez kilka-kilkadziesiąt minut. W czasie, gdy serwer jeszcze pamięta dane użytkownika, wyświetli nam on je po wykonaniu tej komendy w sposób identyczny jak dla komendy /whois zastosowanej do użytkownika aktualnie podłączonego do sieci.

Komenda:

/notify nick

powoduje, że serwer będzie nas informował specjalnym komunikatem o każdym wejściu i wyjściu z sieci użytkownika posługującego się tym nickiem. Komenda /notify może być też użyta z kluczem wyszukiwania - z kluczami trzeba tu jednak postępować ostrożnie, gdyż klucz, którego kryteria spełni zbyt wielu użytkowników spowoduje, że serwer będzie nas zalewał komunikatami o wejściach i wyjściach setek użytkowników. Wiele klientów IRC posiada własne systemy obsługi komunikatów o pojawianiu się i odchodzeniu użytkowników, które są niezależne od mechanizmu "notify" serwera - działają one jednak zwykle tylko w stosunku do kanałów, na których aktualnie się znajdujemy.

Aby usunąć dany nick z naszej listy "notify" musimy wykonać komendę:

/notify -nick

lub

/notify -klucz

Komenda:

/ignore nick powód

powoduje, że serwer przestanie wysyłać do nas jakiekolwiek komunikaty (zarówno prywatne jak i wysyłane na kanał) od użytkownika posługujące się tym nickiem, a także nie będziemy go widzieli na listach użytkowników. Można powiedzieć, że praktycznie przestanie on dla nas w ogóle istnieć. Komenda ta będzie działać nawet wtedy, gdy ten użytkownik zmieni nicka. Zobaczymy go dopiero wtedy, gdy się rozłączy i przyłączy do sieci ponownie z innym nickiem i to dopiero po czasie, gdy serwer zdąży "zapomnieć" już o jego istnieniu. Sam ignorowany zostanie o tym automatycznie poinformowany, komunikatem typu notice.

Jest to najprostszy i najskuteczniejszy sposób na osoby, które nam się naprzykrzają lub uprawiają trolling na naszym ulubionym kanale. Warto tylko pamiętać, że komenda ta działa tylko w stosunku do nas. Inni użytkownicy nadal będą widzieli jego komunikaty. Użytkownik ten będzie miał zatem możliwość "gadania za naszymi plecami", a my nie będziemy mieli możliwości dowiedzenia się o tym.

Komenda /ignore nie działa na wszystkich rodzajach serwerów, działa jednak na większości. Wiele klientów IRC posiada własny system obsługi ignorowania nie lubianych przez nas użytkowników, niezależny od serwera. Serwerowy "ignore" jest jednak najskuteczniejszy, gdyż powoduje, że komunikaty ignorowanego użytkownika w ogóle nie są do nas wysyłane i nie obciążają naszego łącza. Filtrowanie komunikatów przez klienta IRC odbywa się zaś na naszym komputerze, komunikaty te fizycznie do nas docierają, tyle, że ich nie widzimy.

W komendzie /ignore można także zamiast nicka, stosować klucz wyszukiwania, taki sam jak we wszystkich innych komendach ircowych akceptujących klucze. Aby przywrócić łączność z danym użytkownikiem musimy wykonać komendę:

/ignore -nick (lub -klucz)

Wreszcie wykonanie komendy /ignore bez żadnych parametrów wyświetli nam listę naszych aktualnie ignorowanych nicków i kluczy.

Komenda:

/ison nick1 nick2 nick3 nick4 ...

sprawdza czy w sieci, w danym momencie są osoby o podanych nickach.

Przydatne komendy dotyczące serwera

edytuj

Jeśli chcemy szybko znaleźć kontakt z jednym z administratorów serwera z którego korzystamy możemy wykonać następujące komendy:

/admin - zawiera zwykle albo listę administratorów/ircopów albo informacje kontaktowe do nich
/motd (message of the day) - zawiera "przesłanie" do użytkowników, które informuje z jakiego serwera się korzysta, do jakiej sieci jest przyłączony i jakie zasady tu panują, czasami listę administratorów oraz rozmaite inne rzeczy, które administrator uzna za właściwie tam umieścić.
/info - zawiera zazwyczaj podstawowe informację o serwerze, sieci i administratorach

Jeśli chcemy uzyskać dane statystyczne o serwerze i sieci, z której aktualnie korzystamy warto spróbować następujących komend:

/stats - wyświetla podstawową statystykę serwera - zawartość odpowiedzi na tę komendę jest bardzo różna na różnych serwerach, gdyż decyduje o tym jego administrator
/lusers - wyświetla informację o liczbie użytkowników aktualnie korzystających z sieci i serwera i o liczbie istniejących kanałów z rozbiciem na ich rodzaje
/links - wyświetla listę serwerów, które aktualnie są połączone z naszym serwerem; Gdy nie ma splitów daje to po prostu listę wszystkich serwerów w danej sieci.

Specjalnym rodzajem komendy, jest komenda:

/raw tekst

Komenda ta wysyła na serwer tekst, który ten analizuje bezpośrednio w sposób zaprogramowany przez administratora. Daje to możliwość administratorowi tworzenia dodatkowych komend, które standardowo nie są zawarte w gotowym oprogramowaniu serwera. Listy tych specjalnych komend są często umieszczane na oficjalnych stronach WWW serwera lub sieci. Bardzo często implementowaną w ten sposób komendą jest:

/raw help

która np. wyświetla kompletną listę "normalnych" komend akceptowanych przez serwer.

Na do widzenia

edytuj

Komenda:

/quit powód

powoduje w zależności od konfiguracji klienta albo rozłączenie się z serwerem i dalsze "jałowe" funkcjonowanie klienta lub rozłączenie się z serwerem i zamknięcie klienta. Tekst powodu wyświetli się w komunikacie o naszym wyjściu, który pojawi się na wszystkich kanałach, na których byliśmy w momencie wykonania tej komendy.

Wiele klientów jest tak skonfigurowana, że wykonuje tę komendę automatycznie w momencie ich wyłączania. Mają one też możliwość ustalania standardowego tekstu pożegnalnego, który pokaże się na kanałach. Niektóre klienty mają jednak brzydki zwyczaj po prostu się wyłączać bez wysłania do serwera komendy "/quit". Powoduje to, że serwer "nie dowiaduje się" o tym, że się rozłączyliśmy i nasz nick jest wciąż widoczny na listach. Stajemy się tzw. "duchem".

Serwery pozbywają się duchów dzięki mechanizmowi zrywania połączenia z użytkownikami, którzy nie wykonali żadnej akcji przez określony czas. Czas od wykonania ostatniej akcji przez użytkownika nazywa się idle time. Mechanizm ten może też spowodować rozłączenie nas, gdy nadal mamy włączonego klienta IRC, ale z niego nie korzystamy. Aby nas uchronić przed takim zdarzeniem wiele klientów wysyła na serwer od czasu do czasu (zwykle co 2 minuty) komendę:

/ping

na którą serwer odpowiada pong i w ten prosty sposób zapewnia, że serwer nie uzna nas za ducha. Niektóre serwery ignorują jednak tę komendę i liczą idle time od ostatniej akcji rzeczywiście podjętej przez użytkownika. Niektóre klienty IRC potrafią to ominąć poprzez zastąpienie wysyłania "pinga" wysyłaniem innej, nie robiącej niczego widocznego dla innych użytkowników komendy np. "/notice mój_własny_nick Hello".

kodowanie znaków

edytuj

Kodowanie znaków to proces konwersji sekwencji znaków na serię bajtów. Konkretne stosowane kodowanie może wpływać na długość wiadomości IRC na kilka sposobów.

Po pierwsze, różne kodowania mają różną liczbę bajtów na znak. Na przykład kodowanie UTF-8 wykorzystuje jeden bajt na znak dla większości znaków ASCII, ale do czterech bajtów na znak dla niektórych znaków Unicode. Tak więc wiadomość zawierająca wiele znaków innych niż ASCII będzie dłuższa w UTF-8 niż w kodowaniu, które wykorzystuje stałą liczbę bajtów na znak, jak UTF-16 lub UTF-32.

Po drugie, niektóre kodowania używają zmiennej liczby bajtów na znak, więc możliwe jest, że niektóre znaki zajmą mniej bajtów w jednym kodowaniu, a więcej bajtów w innym. Oznacza to, że jeśli wiadomość zawiera wiele znaków, które są zakodowane przy użyciu mniejszej liczby bajtów w jednym kodowaniu niż w innym, wiadomość będzie krótsza, gdy zostanie zakodowana przy użyciu pierwszego kodowania.

Inną ważną rzeczą do rozważenia jest to, że maksymalna długość pojedynczej wiadomości w protokole irc wynosi 512 bajtów. Dlatego ważne jest, aby wziąć pod uwagę maksymalną liczbę bajtów, jaką może zająć wiadomość, aby uniknąć problemów z protokołem.

Ogólnie rzecz biorąc, najlepiej jest używać kodowania UTF-8 podczas wysyłania wiadomości przez IRC, ponieważ jest ono szeroko obsługiwane i kompatybilne z większością klientów, a także jest najbardziej wydajnym kodowaniem pod względem liczby bajtów na znak.