/usr/share/ekg2/scripts/sample.pl is in ekg2-scripting-perl 1:0.4~pre+20120506.1-11build2.
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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | use Ekg2;
sub ekg2_handle_status {
my ($session, $uid, $status, $desc) = @_;
my $sesja = Ekg2::session_find($session);
if ($sesja->{connected}) {
Ekg2::echo("sesja ". $session . "po³±czona");
Ekg2::echo("status: ". $sesja->{status});
Ekg2::echo("ustawiam t± sesjê jako domy¶ln±");
# sesja['default'] = "1"
}
else {
ekg.echo("sesja ".$session . " nie jest po³±czona");
}
Ekg2::echo("Dosta³em status!");
Ekg2::echo("Sesja : ".$session);
Ekg2::echo("UID : ".$uid);
Ekg2::echo("Status: ".$status);
# if desc:
# ekg.echo("Opis : "+desc)
# sesja = ekg.getSession(session)
# ekg.echo('Lista userów sesji: '+", ".join(sesja.users()))
# user = sesja.getUser(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...")
# ekg.echo("IP: "+user.ip)
# 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 -1;
# return 1
}
sub handle_message {
my ($session, $uid, $type, $text, $sent_time, $ign_level) = @_;
Ekg2::debug("[test script] some debug\n");
Ekg2::echo("Dosta³em wiadomo¶æ!");
Ekg2::echo("Sesja : " . $session);
Ekg2::echo("UID : " . $uid);
if ($class == MSGCLASS_MESSAGE) { Ekg2::echo("Typ : msg"); }
else { if ($class == MSGCLASS_CHAT ) { Ekg2::echo("Typ : chat"); } }
# Ekg2::echo("Czas : "+time.strftime("%a, %d %b %Y %H:%M:%S %Z", time.gmtime(sent_time)))
Ekg2::echo("Ign : " . $ignore_level);
Ekg2::echo("TxtLen: " . length($text));
if (length($text) == 13) {
Ekg2::echo("Oj, ale pechowa liczba, nie odbieram");
return 0;
}
return 1
}
sub handle_message_own {
my ($session, $target, $text) = @_;
Ekg2::debug("[test script] some debug\n");
Ekg2::echo("Wysy³am wiadomo¶æ!");
Ekg2::echo("Sesja : ". $session);
Ekg2::echo("Target: ". $target);
Ekg2::echo("TxtLen: ". length($text));
return -(-1);
}
sub ekg2_message {
my ($session, $uid, $rcpt, $text, $format, $send, $class) = @_;
$tclass = $$class;
# $$text = "dupa4";
# Ekg2::echo($$text);
# $$class -= EKG_NO_THEMEBIT;
if ($tclass & EKG_NO_THEMEBIT) { $tclass -= EKG_NO_THEMEBIT; };
# jesli moje to handle_msg_own();
if ($tclass == EKG_MSGCLASS_SENT || $tclass == EKG_MSGCLASS_SENT_CHAT) { return handle_message_own($$session, $$rcpt, $$text); }
# jesli nie to handle_msg();
else { return handle_message($$session, $$uid, $$tclass, $$text, $$send, 0); }
}
sub ekg2_handle_connect {
my ($session) = @_;
Ekg2::echo("Po³±czono! Ale super! Mo¿na gadaæ!");
Ekg2::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? ;)')
my $sesja = Ekg2::session_find($session);
if ($sesja->{connected}) {
Ekg2::echo('Po³±czony!');
}
else {
Ekg2::echo('W tym miejscu jeszcze nie po³±czony');
}
# Ekg2::echo('Lista userów sesji: '+", ".join(sesja.users()))
}
sub ekg2_handle_disconnect {
my ($session) = @_;
Ekg2::echo("£o, sesja " . $session . " nam pad³a");
Ekg2::echo("Wysy³amy smsa ¿e nam cu¶ pad³o...");
}
sub ekg2_handle_keypress {
my ($ch) = @_;
if ($$ch == -1) { return -1 }
Ekg2::echo("Nacisnales #" .$$ch);
$$ch = 41 if ($$ch == 40); # zamiana '(' na ')'
return 0;
}
# Ekg2::handler_bind('protocol-disconnected', 'ekg2_handle_disconnect');
# Ekg2::handler_bind('protocol-status', 'ekg2_handle_status');
# Ekg2::handler_bind('protocol-message', 'ekg2_message');
# Ekg2::handler_bind('ui-keypress', 'ekg2_handle_keypress');
return 1;
|