-
Notifications
You must be signed in to change notification settings - Fork 183
Rooms configuration
iBug ♦ edited this page Aug 8, 2019
·
10 revisions
The Wiki page explains the following:
- File structure for the rooms.yml file
- Glossary of terms used in rooms.yml
- How to configure SmokeDetector for development
The file is a yaml/yml markdown file which has 3 sections, one for each chat domain:
- stackexchange.com
- meta.stackexchange.com
- stackoverflow.com
Each section contains the following structure:
<chat host>:
<room id>:
commands: true/false,
watcher: true/false,
msg_types:
- <role string...>
- ...
privileges:
- <user id...>
- ...
-
<chat host>
- The domain in which the chat host is a sub-domain. Stack Exchange has 3 chat domains: chat.stackexchange.com, chat.meta.stackexchange.com, and chat.stackoverflow.com. The correct entries for<chat host>
corresponding to these domains arestackexchange.com
,meta.stackexchange.com
, andstackoverflow.com
. Each chat server has independent rate limiting for the chat messages a single user can post. If you're making a test room into which the SmokeDetector user is going to be posting lots of messages, then please create the room on eithermeta.stackexchange.com
orstackoverflow.com
. SmokeDetector currently posts most of it's messages to thestackexchange.com
chat server, which means it's the one that gets rate-limited the most. -
<room id>
- room id for the rooms with which SmokeDetector interacts. For example: 12345. -
commands
- true/false boolean flag which determines if SmokeDetector listens for commands in the room -
watcher
- true/false boolean flag which determines if during the 2 minute chat edit/delete window, the report receives FP feedback from feedback in that chat room, or the SE post is deleted, then SmokeDetector will delete the report. -
msg_types
- kinds of messages the room will receive, as described in the following role_string types:- Define which sites will have spam reports posted to the room:
-
all
: Reports for all sites will be posted to the room. -
site-<site>
: The room will receive reports about SE posts on the indicated site (e.gsite-askubuntu.com
orsite-codegolf.stackexchange.com
). There can be multiplesite-<site>
lines to include more than one site. -
site-no-<site>
: exclude a site's reports from being posted in the room (e.g.site-no-stackoverflow.com
); normally used in combination withall
. There can be multiplesite-no-<site>
lines to exclude more than one site.
-
-
debug
: This is what Charcoal HQ or your main room would have set. Rooms with this set will receive startup messages and other debugging information (basically anything that would have previously been done with GlobalVars.charcoal_hq.send_message). -
delay
: introduces a 5 minute delay for reports; reports won't be posted if the post has been marked as false positive or deleted within the 5 minute window. -
dump
: used for Socket Science. Do not add this, unless you are a developer working on Socket Science. Rooms with thedump
option must exist and not be deleted, or SmokeDetector will fail when becoming the "active" instance. If a room defined asdump
becomes deleted, then you will probably want to ping the owners of any SmokeDetector instances which have gone off-line as a result. The quickest way to get those instances back will be to have the owners manually pull a new version of rooms.yml from Github with thedump
removed. SmokeDetector instances that are in standby can be instructed to pull a newer version from GitHub through the status page on metasmoke. -
experimental
: Without this option, reports detected for only experimental reasons will not be posted in the chatroom. However, this option is all-or-nothing. Ifexperimental
is included, then all reports for all sites which are detected for only experimental reasons will be posted in the room. In other words, it ignores thesite--<site>
andsite-no-<site>
settings. From SmokeDetector's point of view, the experimental reasons are defined inexperimental_reasons
in the globalvars.py file. Experimental reasons are also separately defined on metasmoke (ping a metasmoke developer, if those should change). -
metasmoke
: Messages sent from metasmoke are forwarded to this room. This includes things like notification of the first feedback received for a report, CI success/failure which metasmoke is monitoring, etc. This is intended for additional information in Charcoal HQ. -
metatavern
: A special role created for the Tavern on Meta, currently it just receives messages about blocks (for Town Halls). -
no-<reason>
: This room won't receive reports with the specified reason (e.gno-all-caps body
)
- Define which sites will have spam reports posted to the room:
-
privileges
- who can run privileged commands in this room. There are two mutually exclusive formats to what this section can contain.
The first is a list of SE Network user IDs, one per line. Each user ID must be defined in users.yml.
The other format isinherit
/additional
:-
inherit
: indicates the list of permissions should be inherited from another room.-
site
: a "chat host" (see above) which contains the room from which to inherit. -
room
: the number of the room from which the list of permitted user IDs is to be inherited.
-
-
additional
: a list of SE Network user IDs, one per line, which are privileged in this room in addition to those inherited from thesite
/room
defined ininherit
. Ifinherit
is used,additional
is available. When available, it is optional.
-
During development, you probably want to avoid posting a bunch of reports and debug messages to our main rooms. In this case, you can set up a custom rooms.yml file to configure where Smokey will post messages.
Simply create a file named rooms_custom.yml
, and fill it in using the format described above. If you need a spare room to test in, we have one available for your use:
If you don't want Smokey to post any chat messages, you can simply leave the file blank.
Smokey is made with <3 by the Charcoal Team and the other awesome contributors from Charcoal HQ.