/usr/share/ekg2/scripts/sample.py is in ekg2-scripting-python 1:0.3.1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | # -*- encoding: iso-8859-2 -*-
import ekg
import time
def status_handler(session, uid, status, desc):
# for sesja in ekg.sessions():
# if sesja.connected():
# ekg.echo("sesja '%s' po³±czona" % (name,))
# ekg.echo("status: "+sesja['status'])
# else:
# ekg.echo("sesja '%s' nie jest po³±czona" % (name,))
ekg.echo("Dosta³em status!")
ekg.echo("Sesja : "+session)
ekg.echo("UID : "+uid)
ekg.echo("Status: "+status)
if desc:
ekg.echo("Opis : "+desc)
sesja = ekg.session_get(session)
# ekg.echo('Lista userów sesji: '+", ".join(sesja.users()))
user = sesja.user_get(uid)
if user.last_status:
ekg.echo(str(user.last_status))
stat, des = user.last_status
ekg.echo("Ostatni status: "+stat)
if user.last_status[1]:
ekg.echo("Ostatni opis : "+des)
else:
ekg.echo("Nie ma poprzedniego stanu - pewnie dopiero siê ³±czymy...")
if user.ip:
ekg.echo("IP: "+user.ip)
if user.groups:
ekg.echo("Grupy: "+", ".join(user.groups()))
if status == ekg.STATUS_AWAY:
ekg.echo("Chyba go nie ma...")
if status == ekg.STATUS_XA:
ekg.echo("Chyba bardzo go nie ma, to na grzyb mi taki status?. Po³ykam. *¶lurp*")
return 0
return 1
def message_handler(session, uid, type, text, sent_time, ignore_level):
ekg.debug("[test script] some debug\n")
ekg.echo("Dosta³em wiadomo¶æ!")
ekg.echo("Sesja : "+session)
ekg.echo("UID : "+uid)
if type == ekg.MSGCLASS_MESSAGE:
ekg.echo("Typ : msg")
elif type == ekg.MSGCLASS_CHAT:
ekg.echo("Typ : chat")
ekg.echo("Czas : "+time.strftime("%a, %d %b %Y %H:%M:%S %Z", time.gmtime(sent_time)))
ekg.echo("Ign : "+str(ignore_level))
ekg.echo("TxtLen: "+str(len(text)))
if len(text) == 13:
ekg.echo("Oj, ale pechowa liczba, nie odbieram")
return 0
return 1
def own_message_handler(session, target, text):
ekg.debug("[test script] some debug\n")
ekg.echo("Wysy³am wiadomo¶æ!")
ekg.echo("Sesja : "+session)
ekg.echo("Target: "+target)
ekg.echo("TxtLen: "+str(len(text)))
return 1
def connect_handler(session):
ekg.echo("Po³±czono! Ale super! Mo¿na gadaæ!")
ekg.echo("Sesja : "+session)
if session[:3] == 'irc':
struct = time.gmtime()
if struct[3] >= 8 and struct[3] < 17:
ekg.echo('£adnie to tak ircowaæ w pracy? ;)')
sesja = ekg.session_get(session)
if sesja.connected():
ekg.echo('Po³±czony!')
else:
ekg.echo('W tym miejscu jeszcze nie po³±czony')
ekg.echo('Lista userów sesji: '+", ".join(sesja.users()))
def keypress(key):
ekg.echo('nacisnales #'+ str(key));
def disconnect_handler(session):
ekg.echo("£o, sesja %s nam pad³a" % (session,))
ekg.echo("Wysy³amy smsa ¿e nam cu¶ pad³o...")
def foo_command(name, args):
ekg.echo("Wywo³ane polecenie foo!")
def varchange(name, newval):
ekg.echo("Zmienna %s zmieni³a warto¶æ na %s" % (name, newval) )
ekg.command_bind('foo', foo_command)
ekg.handler_bind('protocol-message-received', message_handler)
ekg.handler_bind('protocol-message-sent', own_message_handler)
ekg.handler_bind('protocol-status', status_handler)
ekg.handler_bind('protocol-connected', connect_handler)
ekg.handler_bind('protocol-disconnected', disconnect_handler)
ekg.handler_bind('ui-keypress', keypress)
ekg.variable_add('zmienna_testowa', 'warto¶æ', varchange)
|