Skip to content
Joshua Haas edited this page Jan 30, 2017 · 4 revisions

This plug-in deals with room-specific commands such as broadcasting a message to all particpants or telling a user something the next time they enter the room. This also includes the link_echo function that parses links and responds with the title of the webpage. Note that most chat commands from this plugin will accept a protocol as the first parameter. In this way you could join an XMPP room from Sibyl's socket client (as long as room.cross_proto is enabled).

Config

  • room.bridges - ehco messages between bridged rooms (default: [])
  • room.bridge_broadcast - bridge broadcast messages such as the all cmd (default: True)
  • room.cross_proto - allow managing other protocols from any protocol (default: True)
  • room.link_echo - respond to links with the title of the webpage (default: False)
  • room.trigger_file - file to store triggers (default: 'data/triggers.txt')
  • room.unicode_users - when bridging, if False strip non-ASCII from usernames (default: True)

Commands

  • all: send a message to everyone in the room - all text
  • join: join a room - join [proto room nick pass]
  • leave: leave the specified room - leave [proto room]
  • real: respond with the given nick name's real username - real nick
  • rejoin: attempt to rejoin all rooms from the config file
  • say: say something in the specified room - say [proto] room text
  • tell: respond with text next time the user joins the room - tell nick text
  • trigger: manage triggers - trigger (info|list|add|remove)

all

sibyl all text

Send text to every user in the room. For some chat protocols (e.g. XMPP) this amounts to prefixing the message with the names of every user to highlight them.


join

sibyl join [roomJID] [nick] [pass]

This command is disabled by default. To enable it, set chat_ctrl to True.

If no arguments are passed (i.e. sibyl join), it behaves like rejoin. Otherwise, it joins the MUC specified by roomJID. Sibyl's nickname in the room will be nick, or NICKNAME if none is specified. Optionally you can specify a password for the room with pass. This command is disabled by default. To enable it, set chat_ctrl to True.


leave

sibyl leave [room]

This command is disabled by default. To enable it, set chat_ctrl to True.

Leave the specified room. If no room is provided, leave the current room.


real

sibyl real nick

This command only works in rooms.

Most chat protocols allow users to have nick names in rooms that are different than their usernames. This command finds a room participant's "real" username if the bot knows it.


rejoin

sibyl rejoin

Rejoins the MUC specified in the run_forever command.


say

sibyl say room text

This command only works in rooms.

Have sibyl say text in the specified room.


tell

sibyl tell nick text

This command only works in rooms.

The next time the specified nick name joins the current room, sibyl will highlight the user and send the stored message. The message will also include the nick name of the user who created it and the time it was created.


trigger

sibyl trigger (info|list|add|remove)

Triggers act like chat commands, but the only thing they can do is respond with some pre-set text. Triggers cannot be named the same as existing chat commands. They are stored in the tab-delineated text file specified by the room.trigger_file config opt.

  • info - respond with the number of stored triggers
  • list - return a list of all trigger names
  • add name text - add a trigger that responds to name with text
  • remove name - delete a trigger

This could look like:

human: sibyl trigger add never gonna give you up
sibyl: Added trigger "never"
human: sibyl never
sibyl: gonna give you up
Clone this wiki locally