Strona 1 z 1
Skrypt do zapisywania zmian statusu gg
: 11 lip 2009, 22:03
autor: patryk007@vp.pl
Chciałbym napisać skrypt/program, który by działał na moim koncie shellowym non-stop. Miałby on za zadanie zapisywanie wszystkich zmian statusów gg danego numeru. Ma ktoś jakiś pomysł, bo nie mam kompletnie pomysłu jak zacząć...
Odp: Skrypt do zapisywania zmian statusu gg
: 11 lip 2009, 23:03
autor: Macok
Tutaj jest opis protokołu GG:
http://toxygen.net/libgadu/protocol/#ch1.5
Załóż sobie nowe konto, na którym program będzie działał.
Potem musisz się zalogować, wysłać serwerowi listę kontaktów (najlepiej jak będzie na niej tylko ten 1 numer, który chcesz "śledzić").
Kiedy ten numer zmieni status serwer poinformuje Cię o tym, tak jak jest to opisane tutaj:
http://toxygen.net/libgadu/protocol/#ch1.5
Odp: Skrypt do zapisywania zmian statusu gg
: 12 lip 2009, 00:42
autor: patryk007@vp.pl
Nie bawiłem się nigdy protokołami w C++. Chyba czas zacząć. Dzięki za stronę.
Z czystej ciekawości: jak to można by zrobić w skrypcie? Jakim językiem?
Odp: Skrypt do zapisywania zmian statusu gg
: 12 lip 2009, 10:55
autor: Macok
Np. w perlu
Odp: Skrypt do zapisywania zmian statusu gg
: 12 lip 2009, 13:40
autor: patryk007@vp.pl
No dobra, z tego co widzę na stronie
Net::Gadu (Interfejs do biblioteki libgadu.so dla protokołu komunikatora Gadu-Gadu) to potrzebuję biblioteki libgadu.so, która jest w repo o nazwie
libgadu.
Niestety na SSH nie ma jej zainstalowanej. Da radę jakoś zaincludować bibliotekę w perlu?
Odp: Skrypt do zapisywania zmian statusu gg
: 12 lip 2009, 22:45
autor: beluosus
Może łatwiej ekg i jakaś wtyczka chyba, że sam w sobie loguje zmiany (nie wiem, nie korzystałem wiele).
Odp: Skrypt do zapisywania zmian statusu gg
: 13 lip 2009, 12:36
autor: patryk007@vp.pl
Ta, też myślałem nad EKG i screen'em/nohup'em (na serwie jest tylko nohup). Popróbuję ale chciałbym też pobawić się w perlu. Może ktoś wie co z tymi bibliotekami.
__
Jak coś skombinuje z tym EKG to dam znać, powinno dać radę.
Odp: Skrypt do zapisywania zmian statusu gg
: 13 lip 2009, 18:02
autor: NoName_1990
ekg skompilowane z obsługą pythona i skrypt w pythonie
Kod: Zaznacz cały
#!/usr/bin/python
# -*- coding: iso-8859-2 -*-
import ekg
watch_uins = [ 1234567890, 0987654321 ]
filename = "statusy.txt"
def init():
# gdy skrypt jest ładowany. jeśli ta funkcja zwróci 0, skrypt nie zostanie załadowany.
ekg.printf("generic","Załadowano.")
return 1
def deinit():
# gdy skrypt jest usuwany z pamięci.
ekg.printf("generic","Usunięto.")
return 1
def handle_status(uin, name, status, descr):
# gdy ktoś zmienia stan. nazwy parametrów powinny być zrozumiałe. jeśli zwróci 0, zmiana stanu zostanie zignorowana. jeśli zwróci 2, zmiana stanu nie będzie ignorowana, ale nie zostanie wyświetlona. jeśli zwróci krotkę o takich samych argumentach jak funkcja, dane zostaną zmienione.
if uin in watch_uins:
file = open(filename, 'a')
file.write("Numerek: "+str(uin)+" zmienił status na \'"+status+"\'. \""+descr+"\"" )
file.close()
return 0 #skoro juz zapisalismy stan do pliku, nie musimy go wyswietlac w oknie ekg
return 1
Umieszczamy skrypt w ~/.gg/scripts/<nazwa>.py lub ~/.gg/<user>/scripts/<nazwa>.py (jeśli z ekg korzysta więcej niż jedna osoba

), a później już tylko w ekg:
EDIT: albo po prostu
set log_status 1 w ekg. I po problemie

Odp: Skrypt do zapisywania zmian statusu gg
: 13 lip 2009, 19:48
autor: patryk007@vp.pl
Mega! Wielkie dzięki. O to chodziło! Polać mu! Thx.