logsqlite plugin

Wstęp

Plugin ten służy do zapisywania informacji o otrzymanych i wysłanych wiadomościach, a także opcjonalnie zmianach statusu użytkowników z listy kontaktów.

Sposób użycia

Aby skorzystać z pluginu, należy ustawić zmienną logsqlite:log na 1. Dane będą logowane do pliku, który jest określony przez zmienną logsqlite:path - domyślnie ~/.ekg2/logsqlite.db. Jeśli ten plik nie istnieje, to zostanie stworzony, razem z odpowiednią strukturą. Po ustawieniu opcji logsqlite:log_status logowane będą także zmiany statusów osób z listy użytkowników.

Odpowiednie ustawienie zmiennej logsqlite:path pozwala na logowanie do różnych plików zależnie od daty i od sesji. Jest to przydatna opcja, ponieważ baza może szybko urosnąć, spowalniając działanie pluginu (jednak korzystając z niej należy liczyć się z utrudnieniami w działaniu komend logsqlite:last*). W ścieżce wystarczy umieścić odpowiednie znaki, które zostaną podmienione na generowane na bieżąco wartości. %S zostanie podmienione na nazwę sesji, a %Y, %M i %D zostanie podmienione na odpowiednio rok, miesiąc i dzień odebrania wiadomości lub statusu.

~/.ekg2/logsqlite/%S.db

np. /home/users/leafnode/.ekg/logsqlite/gg:123.db

~/.ekg2/logsqlite/%S/%Y-%M-%D.db

np. /home/users/leafnode/.ekg2/logsqlite/jid:fr@h.pl/2004-05-31.db

/tmp/%S-%Y.%M.%D.db

np. /tmp/gg:31337-2004.05.31.db

Do przeglądania historii wiadomości można użyć polecenia logsqlite:last (dla statusów logsqlite:laststatus). Wyświetla ono ostatnio zalogowane wiadomości - domyślną ilość wyświetlanych wiadomości określa zmienna logsqlite:last_limit_msg (dla statusów logsqlite:last_limit_status). Opcjonalnie, do polecenia można podać parametr -n [liczba] określający na bieżąco ile wierszy ma być wyświetlone. Parametr -s pozwala określić wyświetlić jedynie wiadomości zawierające podany tekst. Kolejny opcjonalny parametr to identyfikator użytkownika lub nazwa użytkownika z bieżącej sesji, którego wiadomości mają być wyświetlane.

Domyślnie polecenie logsqlite:last wyświetla wiadomości w bieżącym oknie. Można to zmienić przez ustawienie opcji logsqlite:last_in_window i logsqlite:last_open_window. Pierwsza z tych zmienny określa, czy wiadomości wyświetlane przez logsqlite:last mają być wyświetlane w okienku z rozmową z danym użytkownikiem (wiadomości bez wskazania użytkownika będą wyświetlane w oknie statusu). Po ustawieniu drugiej zmiennej na 1 ekg2 będzie otwierało okno z rozmową z danym użytkownikiem jeśli ono nie istnieje.

Struktura baz danych

   session text - nazwa sesji
   uid text - id użytkownika, który wysłał wiadomość bądź ją odbierze
   nick text - pseudonim
   type text - typ wiadomości ("chat", "msg", "sys")
   sent boolean - czy wiadomość jest wysyłana czy odbierana
   ts timestamp - czas odebrania wiadomości
   sentts timestamp - czas wysłania wiadomości
   body text - treść wiadomości
   session text - nazwa sesji
   uid text - id użytkownika zmieniającego stan
   nick text - pseudonim
   ts timestamp - czas zajścia zmiany stanu
   status text - stan
   desc text - opis