annotate mod_muc_bot/README.markdown @ 5243:d5dc8edb2695

mod_http_oauth2: Use more compact IDs UUIDs are nice but so verbose! The reduction in entropy for the nonce should be fine since the timestamp is also counts towards this, and it changes every second (modulo clock shenanigans), so the chances of someone managing to get the same client_secret by registering with the same information at the same time as another entity should be negligible.
author Kim Alvefur <zash@zash.se>
date Sat, 11 Mar 2023 22:46:27 +0100
parents 55cf7f063af6
children
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
5011
55cf7f063af6 mod_muc_bot/README: Update to account for 0.12 going stable
Kim Alvefur <zash@zash.se>
parents: 4569
diff changeset
50 Works with Prosody 0.12 or later.