author | Myhailo Danylenko <isbear@ukrpost.net> |
Sun, 20 May 2012 06:24:53 +0300 | |
changeset 121 | 75a7d595817c |
parent 111 | 5bcdb71ef2f2 |
permissions | -rw-r--r-- |
50 | 1 |
|
68
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
2 |
local lm = require 'lm' |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
3 |
local attention = require 'lm.attention' |
50 | 4 |
|
68
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
5 |
attention.handler ( |
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
6 |
function ( mesg, from ) |
68
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
7 |
local times = 0 |
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
8 |
if from then |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
9 |
main.print_info ( from, "Buddy wants your attention!" ) |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
10 |
end |
68
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
11 |
main.timer ( 1, |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
12 |
function () |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
13 |
if times < 6 then |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
14 |
main.beep () |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
15 |
times = times + 1 |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
16 |
return true |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
17 |
end |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
18 |
return false |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
19 |
end ) |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
20 |
end ) |
50 | 21 |
|
68
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
22 |
main.command ( 'attention', |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
23 |
function ( args ) |
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
24 |
local connection = main.connection () |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
25 |
if not connection then |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
26 |
print "You are not online!" |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
27 |
return |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
28 |
end |
68
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
29 |
local who |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
30 |
if args.t then |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
31 |
who = args.t |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
32 |
else |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
33 |
who = main.full_jid () |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
34 |
end |
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
35 |
attention.send ( lm.connection.bless ( connection ), who, args[1] ) |
68
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
36 |
end, true, 'jid' ) |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
37 |
|
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
38 |
local attention_handler = lm.message_handler.new ( attention.message_handler ) |
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
39 |
local attention_handler_registered = false |
66 | 40 |
|
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
41 |
local attention_pc_handler = |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
42 |
function ( args ) |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
43 |
local connection = main.connection () |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
44 |
if connection then |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
45 |
lm.connection.bless(connection):handler ( attention_handler, 'message', 'normal' ) |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
46 |
attention_handler_registered = true |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
47 |
end |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
48 |
end |
111
5bcdb71ef2f2
Fix some example scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
99
diff
changeset
|
49 |
local attention_pd_handler = |
68
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
50 |
function ( args ) |
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
51 |
if attention_handler_registered then |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
52 |
local connection = main.connection () |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
53 |
if connection then |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
54 |
lm.connection.bless(connection):handler ( attention_handler, 'message' ) |
68
742878c74b8e
Lm separation, privacy
Myhailo Danylenko <isbear@ukrpost.net>
parents:
66
diff
changeset
|
55 |
end |
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
56 |
attention_handler_registered = false |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
57 |
end |
111
5bcdb71ef2f2
Fix some example scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
99
diff
changeset
|
58 |
end |
5bcdb71ef2f2
Fix some example scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
99
diff
changeset
|
59 |
main.hook ( 'hook-post-connect', attention_pc_handler ) |
5bcdb71ef2f2
Fix some example scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
99
diff
changeset
|
60 |
main.hook ( 'hook-pre-disconnect', attention_pd_handler ) |
50 | 61 |
|
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
62 |
-- register handler, if we are already connected |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
63 |
main.hook ( 'hook-lua-start', |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
64 |
function ( args ) |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
65 |
main.add_feature ( 'urn:xmpp:attention:0' ) |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
66 |
attention_pc_handler () |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
67 |
end ) |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
68 |
main.hook ('hook-lua-quit', |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
69 |
function ( args ) |
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
70 |
main.del_feature ( 'urn:xmpp:attention:0' ) |
111
5bcdb71ef2f2
Fix some example scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
99
diff
changeset
|
71 |
attention_pd_handler () |
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
72 |
end ) |
50 | 73 |
|
99
ed4676536ed9
Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents:
68
diff
changeset
|
74 |
-- vim: se ts=4 sw=4: -- |