author | Myhailo Danylenko <isbear@ukrpost.net> |
Mon, 23 Feb 2009 23:16:46 +0200 | |
changeset 4 | bca17e4a9851 |
permissions | -rw-r--r-- |
4
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
1 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
2 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
3 |
--[[ |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
4 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
5 |
DESCRIPTION |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
6 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
7 |
This is a demo config file to show, what you can do with lua. |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
8 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
9 |
Feature list: |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
10 |
XEP-0004 Forms parsing and filling |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
11 |
XEP-0030 Info/items discovery requests (mcabber already can do replies) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
12 |
XEP-0047 In-Bound Byte Streams (sending, receiving, saving with specified name, rejecting) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
13 |
XEP-0077 In-Band Registration (only registration, but with data forms too) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
14 |
XEP-0146 Remote commands requests |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
15 |
Jobs (actions, fired when some event occurs, now in one file, updated on exit) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
16 |
MPD status polling (can be turned off) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
17 |
Beep on all messages, even on chatroom ones |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
18 |
Url saving to file (for urlview) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
19 |
Transported buddies availability indication |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
20 |
Actions on multiple marked buddies |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
21 |
Fallback commands (localized also! :) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
22 |
Help for fallback commands (well, I know, that it can be done with mcabber's help system, but it requires access to system files...) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
23 |
All features have native mcabber interface |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
24 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
25 |
REQUIREMENTS |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
26 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
27 |
liblua-loudmouth (lm.lua and loudmouth.so) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
28 |
liblua-socket - mpd |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
29 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
30 |
NOTES |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
31 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
32 |
Most hooks get one incoming parameter - hash table with some fields in it. |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
33 |
This allows further extending and adding arguments without breaking |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
34 |
previous implementations. |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
35 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
36 |
Ibb uses own iq handler. This is the laziest way to implement this. |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
37 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
38 |
BUILTINS |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
39 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
40 |
print (global) - prints to log |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
41 |
dofile (global) - loads lua file from default mcabber location |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
42 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
43 |
main methods: |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
44 |
- run - run literal mcabber command |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
45 |
- beep - beep |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
46 |
- log - print to log w/specified priority |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
47 |
- print_info - print info into specified buffer |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
48 |
- config_file - format full file name from relative to mcabber's config dir |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
49 |
- status - get current user status and message |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
50 |
- roster - get list of roster jids (rooms, buddies and agents) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
51 |
- current_buddy - get jid of current buddy |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
52 |
- buddy_info - get table with info about jid and its resources |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
53 |
- connection - get lightuserdata for mcabber's lm connection |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
54 |
- timer - run function periodically |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
55 |
- bgread - run command and read it's output in background |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
56 |
- add_feature - add string to feature list (for disco#info) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
57 |
- del_feature - delete string from feature list |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
58 |
- add_command - adds mcabber command |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
59 |
- del_command - remove mcabber command |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
60 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
61 |
--]] |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
62 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
63 |
-- This is a hack to allow loading of lm.lua and loudmouth.so from ~/.mcabber |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
64 |
-- instead of installing them system-wide |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
65 |
package.path = main.config_file ( '?.lua' ) .. ';' .. package.path |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
66 |
package.cpath = main.config_file ( '?.so' ) .. ';' .. package.cpath |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
67 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
68 |
require 'lm' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
69 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
70 |
-- OPTIONS, COMMON SUPPORT ROUTINES |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
71 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
72 |
url_file = main.config_file ( 'urls.log' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
73 |
transport_jid = 'icq.jabber.kiev.ua' -- TODO: allow multiple transports |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
74 |
beep_enable = false |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
75 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
76 |
-- XXX: to C? |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
77 |
char2status = { |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
78 |
f = 'free', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
79 |
o = 'online', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
80 |
a = 'away', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
81 |
d = 'dnd', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
82 |
n = 'notavail', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
83 |
i = 'invisible', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
84 |
['_'] = 'offline', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
85 |
['?'] = 'message', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
86 |
} |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
87 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
88 |
function shell_escape ( str ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
89 |
if str then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
90 |
return "'" .. str:gsub ( "'", "'\\''" ) .. "'" |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
91 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
92 |
return "''" |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
93 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
94 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
95 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
96 |
-- This is for debugging purposes, for real reloading need to quote and bracket keys. |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
97 |
function table_to_string ( tab, pre ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
98 |
local prefix = pre or "" |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
99 |
local tbls, jk = "", "" |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
100 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
101 |
for key, val in pairs ( tab ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
102 |
if type ( val ) == 'table' then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
103 |
tbls = string.format ( "%s %s%s = %s,\n", tbls, prefix, tostring(key), table_to_string ( val, " " .. prefix ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
104 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
105 |
jk = string.format ( "%s %s = %q,", jk, tostring(key), tostring(val) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
106 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
107 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
108 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
109 |
if tbls == "" then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
110 |
return string.format ( "{%s }", jk:sub ( 1, -2 ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
111 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
112 |
return string.format ( "{%s\n%s%s}", jk, tbls, prefix ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
113 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
114 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
115 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
116 |
-- XXX to C? |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
117 |
function full_current_jid () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
118 |
local jid = main.current_buddy () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
119 |
if jid then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
120 |
local info = main.buddy_info ( jid ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
121 |
local prio, resource = 0 |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
122 |
for res, par in pairs ( info.resources ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
123 |
if prio <= par.priority then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
124 |
resource = res |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
125 |
prio = par.priority |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
126 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
127 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
128 |
if resource then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
129 |
return jid .. '/' .. resource |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
130 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
131 |
return jid |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
132 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
133 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
134 |
return nil |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
135 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
136 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
137 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
138 |
-- COMMANDS |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
139 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
140 |
function yesno ( value ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
141 |
if value == 'enable' or value == 'yes' or value == 'true' or value == 'on' or value == true then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
142 |
return true |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
143 |
elseif value == 'disable' or value == 'no' or value == 'false' or value == 'off' or value == false then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
144 |
return false |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
145 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
146 |
return nil |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
147 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
148 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
149 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
150 |
-- FIXME: eats spaces |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
151 |
function parse_args ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
152 |
local ret = {} |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
153 |
local still_opts = true |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
154 |
local optname |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
155 |
local option = false |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
156 |
for word in args:gmatch ( "%S+" ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
157 |
if still_opts and not option and word:sub ( 1, 1 ) == '-' then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
158 |
option = true |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
159 |
optname = word:sub ( 2 ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
160 |
elseif option then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
161 |
ret[optname] = word |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
162 |
option = false |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
163 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
164 |
still_opts = false |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
165 |
table.insert ( ret, word ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
166 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
167 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
168 |
return ret |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
169 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
170 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
171 |
-- Help strings should not contain command, only arguments. This is necessary to support soft aliases. |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
172 |
commands_help = { |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
173 |
file = "filename\n\nSends file as a message. Just shorthand.", |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
174 |
s = "status [message]\n\nSets your status, but takes into account mpd (if enabled).", |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
175 |
beep = "[enable|disable|on|off|yes|no|true|false]\n\nEnables or disables beeping on all messages.\nIf state is omitted, prints current state.", |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
176 |
cmd = "shell_command\n\nRuns shell command in background and sends output to current buddy.\nWorks asynchroneously, and may break long output in the middle of line", |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
177 |
exthelp = "[command]\n\nPrints help for a given command, or list of available help topics.", |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
178 |
reload = "\n\nJust a shorthand to reload lua config file. Note, that for now this discards all changes to configuration, open forms, transferred files.", |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
179 |
['join!'] = "\n\nForcibly joins to current buddy. Just saves you typing of full room name (that can be quite long) in a case of a non-bookmarked rooms.", |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
180 |
count = "\n\nPrints number of resources of current buddy. Useful to determine member count of large room." |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
181 |
} |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
182 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
183 |
main.add_command ( "lua", |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
184 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
185 |
assert ( loadstring ( args ) ) () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
186 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
187 |
main.add_command ( 'file', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
188 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
189 |
main.run ( 'say_to -f ' .. args .. ' .' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
190 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
191 |
main.add_command ( 's', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
192 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
193 |
main.run ( ('status %s %s'):format ( args, mpd_getstatus () ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
194 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
195 |
main.add_command ( 'beep', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
196 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
197 |
local enable = yesno ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
198 |
if enable == nil then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
199 |
if beep_enable then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
200 |
print ( "Beep on message is enabled" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
201 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
202 |
print ( "Beep on message is disabled" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
203 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
204 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
205 |
beep_enable = enable |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
206 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
207 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
208 |
main.add_command ( 'cmd', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
209 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
210 |
local to = main.current_buddy () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
211 |
main.run ( ('send_to -q %q $ %s'):format ( to, args ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
212 |
main.bgread ( args, |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
213 |
function ( data ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
214 |
if data then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
215 |
main.run ( ('send_to -q %q %s'):format ( to, data ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
216 |
return true |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
217 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
218 |
return false |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
219 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
220 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
221 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
222 |
main.add_command ( 'exthelp', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
223 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
224 |
if commands_help[args] then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
225 |
print ( "\n /" .. args .. ' ' .. commands_help[args] ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
226 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
227 |
print ( "No help for this command." ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
228 |
list = "Help available for commands: " |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
229 |
for k in pairs (commands_help) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
230 |
list = list .. k .. ', ' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
231 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
232 |
print ( list:sub ( 1, -3 ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
233 |
print ( "For built-in mcabber commands see /help" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
234 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
235 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
236 |
main.add_command ( 'reload', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
237 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
238 |
dofile ( main.config_file ( 'mcabberrc.lua' ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
239 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
240 |
main.add_command ( 'join!', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
241 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
242 |
main.run ( 'room join ' .. main.current_buddy () ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
243 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
244 |
main.add_command ( 'count', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
245 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
246 |
local count = 0 |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
247 |
for resource in pairs ( main.buddy_info ( main.current_buddy () ).resources ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
248 |
count = count + 1 |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
249 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
250 |
print ( "Resource count: " .. count ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
251 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
252 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
253 |
for k, arg in ipairs ( { ')', '/', '(', 'D', '-/', 'S', '1', ']', '[' } ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
254 |
main.add_command ( arg, |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
255 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
256 |
main.run ( 'say :' .. arg .. ' ' .. args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
257 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
258 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
259 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
260 |
-- MARKING |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
261 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
262 |
dopath 'marking' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
263 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
264 |
-- MPD |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
265 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
266 |
dopath 'mpd' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
267 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
268 |
-- FORMS (XEP-0004) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
269 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
270 |
dopath 'xep0004' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
271 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
272 |
-- DISCO (XEP-0030) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
273 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
274 |
dopath 'xep0030' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
275 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
276 |
-- IBB (XEP-0047) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
277 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
278 |
dopath 'xep0047' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
279 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
280 |
-- IN-BAND REGISTRATION (XEP-0077) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
281 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
282 |
dopath 'xep0077' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
283 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
284 |
-- REMOTE CONTROLLING CLIENTS (XEP-0146) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
285 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
286 |
dopath 'xep0146' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
287 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
288 |
-- JOBS |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
289 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
290 |
delayed_jobs = {} |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
291 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
292 |
-- FIXME: do only if it exists |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
293 |
dopath 'jobs.lua' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
294 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
295 |
function save_jobs () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
296 |
local h = io.open ( main.config_file ( 'jobs.lua' ), "w" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
297 |
if not h then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
298 |
print ( 'Cannot open jobs file for writing!' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
299 |
return |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
300 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
301 |
h:write ( "-- This is autogenerated file, do not edit it manually\n\ndelayed_jobs = {\n" ); |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
302 |
for jid, more in pairs ( delayed_jobs ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
303 |
h:write ( string.format ( "\t[%q] = {\n", jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
304 |
for status, action in pairs ( more ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
305 |
if action then -- remove fired jobs |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
306 |
h:write ( string.format ( "\t\t[%q] = %q,\n", status, action ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
307 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
308 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
309 |
h:write ( "\t},\n" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
310 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
311 |
h:write ( "}\n" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
312 |
h:close () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
313 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
314 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
315 |
main.add_command ( 'delay', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
316 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
317 |
args = parse_args ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
318 |
local who |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
319 |
if args.t then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
320 |
who = args.t |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
321 |
args.t = nil |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
322 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
323 |
who = main.current_buddy () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
324 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
325 |
local stat = args[1] |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
326 |
args[1] = nil |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
327 |
delayed_jobs[who] = { } |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
328 |
delayed_jobs[who][stat] = |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
329 |
function () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
330 |
main.run ( 'say_to -q ' .. who .. ' ' .. rebuild_args_string ( args ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
331 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
332 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
333 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
334 |
main.add_command ( 'job', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
335 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
336 |
local action, jid, stat = args:match ( "(%w+)%s+(%w+)%s+(%w)" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
337 |
if action == 'del' then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
338 |
delayed_jobs[jid][stat] = nil |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
339 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
340 |
print ( 'List of jobs:' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
341 |
for jid, jobs in pairs ( delayed_jobs ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
342 |
for status in pairs ( jobs ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
343 |
print ( ' - ' .. jid .. ' -> ' .. status ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
344 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
345 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
346 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
347 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
348 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
349 |
commands_help['delay'] = "[-t target_jid] status_letter message\n\nDelays sending a message to target jid (or current buddy) until it switches to specified status." |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
350 |
commands_help['job'] = "[del jid status_letter]\n\nLists available jobs or deletes specified one." |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
351 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
352 |
-- HOOKS |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
353 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
354 |
ibb_handler_registered = false |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
355 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
356 |
-- Soft hooks, implemented through mcabber options |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
357 |
function hook_post_connect () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
358 |
main.run ( 'group fold テフノ' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
359 |
main.run ( 'group fold にゃ' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
360 |
main.run ( 'group fold にゃ - Друзі' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
361 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
362 |
main.run ( 'color muc * on' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
363 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
364 |
main.run ( ("color roster * *@%s red"):format ( transport_jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
365 |
main.run ( ("color roster dn_? *@%s red"):format ( transport_jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
366 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
367 |
if mpd_enabled then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
368 |
mpd_callback () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
369 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
370 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
371 |
-- FIXME |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
372 |
if not ibb_handler_registered then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
373 |
lm.connection.bless( main.connection () ):handler ( ibb_incoming_iq_handler, 'iq', 'normal' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
374 |
main.add_feature ( 'http://jabber.org/protocol/ibb' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
375 |
ibb_handler_registered = true |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
376 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
377 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
378 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
379 |
function hook_pre_disconnect () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
380 |
main.run ( ("color roster * *@%s white"):format ( transport_jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
381 |
main.run ( ("color roster dn_? *@%s brightblack"):format ( transport_jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
382 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
383 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
384 |
-- Hard hooks, implemented in C |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
385 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
386 |
-- hook |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
387 |
-- - message_in |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
388 |
-- jid |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
389 |
-- groupchat |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
390 |
-- message |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
391 |
-- - message_out |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
392 |
-- jid |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
393 |
-- message |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
394 |
-- - status_change |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
395 |
-- jid |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
396 |
-- resource |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
397 |
-- new_status |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
398 |
-- old_status |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
399 |
-- message |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
400 |
-- - my_status_change |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
401 |
-- new_status |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
402 |
-- message |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
403 |
function hook_handler ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
404 |
if args.hook == 'message_in' then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
405 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
406 |
-- beep on ALL messages, no matter, is it chat or something else. |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
407 |
if beep_enable then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
408 |
main.beep () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
409 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
410 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
411 |
-- save urls to file from where urlview can get them... |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
412 |
for url in args.message:gmatch ( "https?://[%w%p]+" ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
413 |
fd = io.open ( url_file, "a" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
414 |
if fd then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
415 |
fd:write ( url .. "\n" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
416 |
fd:close () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
417 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
418 |
print 'Cannot open urls log file' |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
419 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
420 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
421 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
422 |
elseif args.hook == 'status_change' then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
423 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
424 |
-- delayed actions |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
425 |
if delayed_jobs[args.jid] and delayed_jobs[args.jid][args.new_status] then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
426 |
delayed_jobs[args.jid][args.new_status] () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
427 |
delayed_jobs[args.jid][args.new_status] = nil |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
428 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
429 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
430 |
-- transported buddies availability indication |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
431 |
if args.jid == transport_jid then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
432 |
if args.new_status == '_' then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
433 |
main.run ( ("color roster * *@%s red"):format ( transport_jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
434 |
main.run ( ("color roster dn_? *@%s red"):format ( transport_jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
435 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
436 |
main.run ( ("color roster * *@%s white"):format ( transport_jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
437 |
main.run ( ("color roster dn_? *@%s brightblack"):format ( transport_jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
438 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
439 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
440 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
441 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
442 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
443 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
444 |
-- (hook_start) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
445 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
446 |
function hook_quit () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
447 |
save_jobs () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
448 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
449 |
-- FIXME |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
450 |
if ibb_handler_registered then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
451 |
lm.connection.bless( main.connection () ):handler ( ibb_incoming_iq_handler, 'iq' ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
452 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
453 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
454 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
455 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
456 |
-- The End -- vim: se ts=4: -- |