Jest wiele sytuacji, w których może się to przydać np.:
- automatyczna odpowiedź gdy ktoś do nas napisze, więcej, wiele odpowiedzi w zależności od osoby, pory dnia itp.
- wysyłanie wiadomości do osób zależnie od zmiany ich opisu czy statusu
- prowadzenie automatycznej konwersacji, ustalenie scenariusza, dobry fun
- logowanie powiadomień
- wysyłanie SMS gdy ktoś się odezwie
- inne zaawansowane zastosowania
Należy ściągnąć klienta GG EKG, a następnie skompilować z obsługą języka skryptowego Python:
./configure --with-python && make && make installStworzyć katalog ~/.gg/scripts/autorun/ z którego automatycznie po starcie EKG będą ruszały nasze skrypty.
Odpalamy klienta EKG poprzez wywołanie polecenia ekg.
Przystępujemy do konfiguracji swojego numer GG lub innego:
set uin 123456Ściągamy listę kontaktów z serwera
set password mojetajnehaslodogg
save
list -glub dodajemy kontakty ręcznie
add numer nazwaKażdorazowo można zapisać ustawienia poleceniem save.
Teraz przystępujemy do napisania kodu, stwórz plik skrypt.py w ~/.gg/scripts/autorun/.
Wklej taką zawartość:
#!/usr/bin/python
import ekg
import re
import logging
from time import gmtime, strftime
logger = logging.getLogger('ekg')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('log.txt')
fh.setLevel(logging.DEBUG)
logger.addHandler(fh)
def init():
ekg.printf("generic", "Wlaczenie")
return 1
def deinit():
ekg.printf("generic", "Wylaczenie")
def handle_status(uin, name, status, descr):
if not descr:
descr = ''
logger.info(str(uin)+","+descr)
ekg.printf("generic",str(uin)+","+descr)Ten kod pozwoli na rejestrowanie zmian opisów osób z listy kontaktów i zapisze je do pliku i na ekran programu EKG.
Wystarczy zapisać plik, uruchomić ponownie ekg i na ekran powinny zacząć spływać komunikaty zmian opisów.
Kluczowa jest tutaj funkcja handle_status przyjmująca parametry, które można odczytać i operować na nich.
Jest więcej funkcji, które dają dodatkowe możliwości interakcji z protokołem GG.
Polecam zapoznać się z dokumentacją na stronie http://ekg.chmurka.net/docs/python.txt.
0 komentarze:
Prześlij komentarz