view mod_muc_bot/README.markdown @ 5107:1e10ddbf5c87

mod_http_muc_log: Tweak style towards the "modern" Also accidentally converted the hand-minified CSS to SCSS for easier editing. This gets rid of the <q> element because it makes browsers (at least Firefox) add annoying quotes to any text copied out of them, interfering with opening non-linkified URLs. That could have been considered a sort of security mechanism, but convenience trumps security!
author Kim Alvefur <zash@zash.se>
date Sun, 04 Dec 2022 23:16:31 +0100
parents 55cf7f063af6
children
line wrap: on
line source

---
summary: Module for improving the life of bot authors
---

This module makes it easier to write MUC bots by removing the
requirement that the bot be online and joined to the room.

All the bot needs to do is send a message and this module handles the
rest.

# Configuration

Example configuration in Prosody:

```lua
Component "muc.example.com" "muc"

modules_enabled = {
    "muc_bot",
}
known_bots = { "bot@example.com" }
bots_get_messages = false
ignore_bot_errors = true
```

# Sending messages

Simply send a stanza like this from your bot:

```xml
<message type="groupchat" to="channel@muc.example.com">
  <body>Beep boop, I'm a bot!</body>
  <nick xmlns="http://jabber.org/protocol/nick">Botty</nick>
</message>
```

## Use with mod_rest

Using [mod_rest] to interact with MUC suffers from the same need to join
with an online resource, so this module helps with that as well!

```bash
curl https://xmpp.example.com/rest/message/groupchat/room@muc.example.com \
    -d body="beep boop" \
    -d nick="Botty"
```

# Compatibility

Works with Prosody 0.12 or later.