Sun, 15 Nov 2020 15:05:24 +0100
clix.watch_pep: Subscribe to a PEP node
139
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 | local verse = require "verse"; |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 | |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 | return function (opts, arg) |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 | if opts.short_help then |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 | print("Watches PEP notifications from all contacts") |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 | print("clix watch_pep [--node PEP-NODE] [--noempty]") |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 | return; |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 | end |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 | |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 | local function onconnect(conn) |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 | conn:hook_pep(opts.node or "urn:xmpp:microblog:0", function (event) |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 | local payload = event.item; |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 | if not payload then return end |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 | if opts.noempty and not payload[1] then return end |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 | if event.from then |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 | io.stderr:write("# From "..event.from.."\n"); |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 | end |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 | if payload.attr.xmlns == "urn:xmpp:json:0" then |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 | print(payload:get_tex()) |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 | elseif opts.pretty then |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 | print(payload:indent(nil, " ")); |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 | else |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 | print(payload); |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 | end |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 | end); |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 | if not opts.presence then |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 | conn:send(verse.presence()); |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 | end |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 | end |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 | |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 | clix_connect(opts, onconnect, {"pep"}) |
6909e479c56b
clix.watch_pep: Subscribe to a PEP node
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 | end; |