annotate mod_muc_bot/README.markdown @ 4974:807007913f67

mod_log_json: Prefer native Lua table.pack over Prosody util.table one Prosody is removing support for Lua 5.1, which was the reason for util.table.pack to exist in the first place, since Lua 5.2+ provides table.pack. In prosody rev 5eaf77114fdb everything was switched over to use table.pack, opening the door for removing util.table.pack at some point. This change here is to prepare for that future eventuality.
author Kim Alvefur <zash@zash.se>
date Mon, 11 Jul 2022 20:08:41 +0200
parents 9cbdb60e21f2
children 55cf7f063af6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4568
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 ---
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 summary: Module for improving the life of bot authors
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 ---
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 This module makes it easier to write MUC bots by removing the
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 requirement that the bot be online and joined to the room.
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 All the bot needs to do is send a message and this module handles the
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 rest.
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 # Configuration
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 Example configuration in Prosody:
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 ```lua
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 Component "muc.example.com" "muc"
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 modules_enabled = {
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 "muc_bot",
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 }
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 known_bots = { "bot@example.com" }
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 bots_get_messages = false
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 ignore_bot_errors = true
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 ```
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 # Sending messages
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28 Simply send a stanza like this from your bot:
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 ```xml
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 <message type="groupchat" to="channel@muc.example.com">
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32 <body>Beep boop, I'm a bot!</body>
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 <nick xmlns="http://jabber.org/protocol/nick">Botty</nick>
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34 </message>
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 ```
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37 ## Use with mod_rest
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
38
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39 Using [mod_rest] to interact with MUC suffers from the same need to join
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
40 with an online resource, so this module helps with that as well!
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
41
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
42 ```bash
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
43 curl https://xmpp.example.com/rest/message/groupchat/room@muc.example.com \
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
44 -d body="beep boop" \
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
45 -d nick="Botty"
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
46 ```
88089c61121d mod_muc_bot: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
47
4569
9cbdb60e21f2 mod_muc_bot: Add Compatibility section to README
Kim Alvefur <zash@zash.se>
parents: 4568
diff changeset
48 # Compatibility
9cbdb60e21f2 mod_muc_bot: Add Compatibility section to README
Kim Alvefur <zash@zash.se>
parents: 4568
diff changeset
49
9cbdb60e21f2 mod_muc_bot: Add Compatibility section to README
Kim Alvefur <zash@zash.se>
parents: 4568
diff changeset
50 Prosody **trunk** required.