Advanced Search Objects Machine

Ta strona jest nieaktualna z powodu przepisania asombota od początku w języku perl.

Dalszy ciąg zawiera częściowo informacje nieprawdziwe!

asombot

asombot jest robotem IRC i jednocześnie klientem ASOM. Służy jako bramka pomiędzy ASOM-IRC. Został napisany w języku pike, a jego kod źródłowy jest dostępny na życzenie u autora.

Aktualnie jedyna możliwość komunikacji z systemem ASOM dla użytkowników spoza lokalnej sieci serwera.

Obecnie asombot jest osiągalny tylko w sieci QuakeNet.

Użycie

asombot traktuje wszystkie PRIVMSG których jest docelowym odbiorcą oraz te na kanale, zaczynające się od ! (wykrzyknika), jako własne polecenia lub aliasy poleceń. Wielkość znaków w nazwie polecenia lub aliasu nie jest ważna, natomiast jest ważna dla argumentów. Wyniki polecenia wypisuje jako PRIVMSG na kanał (jeśli polecenie wywołano jako !polecenie na kanale) lub do konkretnego nicka (jeśli wywołano przez prywatną wiadomość).

INVITE

Na INVITE asombot reaguje wejsciem na kanał na który jest zapraszany o ile ma takie możliwości (ograniczenie ilości kanałów do których może należeć jedna sesja, limit kanału, itp...) Jest to jedyny sposób zmuszenia asombota do wejscia na jakiś kanał (sam nie wchodzi na żadne). Aby się go pozbyć z kanału należy go po prostu wykopać (KICK, nie wraca sam, nie trzeba banować - +b). asombot nie prowadzi żadnej listy na jakich kanałach jest dostepny, wiec nie ma tez możliwości automatycznie na nie wrócić w wypadku zerwania połączenia z serwerem. Jednak gdy połączenie zostanie przerwane (flood, sendQ) asombot sam w czasie ~5 minut powróci do sieci (ale nie na kanały).

Polecenia

aliases
Wypisuje listę aliasów.
freeb
nowe Zwalnia bufor wyjsciowy (powoduje to przerwanie wypisywania jakichkolwiek danych).
rehash
Przeładowywuje tablicę aliasów i triggerów Nic nie wypisuje.
search
Wysyła argumenty w języku zapytań jako zapytanie do serwera ASOM. Wyniki przedstawia w domyślny sposób. Używa kolorów.
light-search
To polecenie przestało być potrzebne wraz z wprowadzeniem "operatora klienta".
Obecnie w celu zachowania zgodności jest aliasem do search -nouri -noengine -nomsg $%
triggers
Wypisuje listę triggerów.

Operator klienta

Operator ten nie jest przesyłany do systemu ASOM. Służy jedynie do ustalenia komunikacji z użytkownikiem. Implementacja w asombocie pozwala na ustalenie kodowania znaków (zarówno w zapytaniu jak i odpowiedzi) oraz ustalenia jakie częsci odpowiedzi mają być wyświetlane -notitle Nie wyświetlaj tytułu
-nosep Nie wyświetlaj pustej linii pomiędzy wynikami (przydatne w aliasach)
-nosample Nie wyświetlaj próbki
-nouri Nie wyświetlaj URI
-noengine Nie wyświetlaj z jakiego silnika pochodzi
-nomsg Nie wyświetlaj wiadomości kontrolnych
-iso-8859-2 Użyj kodowania ISO-8859-2 dla zapytania i odpowiedzi
-cp1250 Użyj kodowania CP1250 (Windows-EE) dla zapytania i odpowiedzi

Kodowanie

Wewnątrz systemu ASOM wszystkie dane są zakodowane w UTF-8. Jednak asombot może przyjmować i wyświetlać również w ISO-8859-2 oraz CP1250.

Aktualnie asombot umie przekodowywać tylko w następujące sposoby:

domyślnie
Zapytanie przesyła bezpośrednio do silnika (czyli powinno być w UTF-8), natomiast odpowiedź przekodowywuje na ile to możliwe do US-ASCII.
-iso-8859-2
Zapytanie i odpowiedź są konwertowane na ISO-8859-2.
-cp1250
Zapytanie i odpowiedź są konwertowane na CP1250.

Aliasy

Aliasy są wykorzystywane jako skróty poleceń. Wywoływane są jak zwykłe polecenia, ale na prawdę powodują wywołanie przawdziwego polecenia w pewnymi argumentami.

Można je wyświetlić za pomocą polecenia aliases. Ciąg znaków $% (dollar, procent) jest zamieniany na argumetny z jakimi został wywołany alias.

Dla przykładu, jeśli mamy taki alias dla bashpl search @bash.org.pl -nouri -noengine -nomsg `$% ^random <1 To wpisanie na kanale !bashpl a b c Spowoduje wywołanie polecenia !search @bash.org.pl -nouri -noengine -nomsg `a b c ^random <1

Triggery

Triggery służą głównie rozwywce. Powodują, że wpisanie zdefiniowanego tekstu na kanale, generuje odpowiedź asombota.

Można je wyświetlić za pomocą polecenia triggers. Ciąg znaków %n (procent, "n") jest zamieniany na nick osoby wywołującej trigger.

Dla przykładu, jeśli mamy zediniowany taki trigger dla search What are you searching for, %n? To jeśli ktoś o nicku lamer wpisze na kanale search asombot natychmiast odpowie What are you searching for, lamer?