Merge branch 'draft-ircbots' of tildeverse/rfcs into master

This commit is contained in:
Robert Miles 2018-09-26 16:26:09 -04:00 committed by Gitea
commit 277832f9a3
1 changed files with 43 additions and 0 deletions

43
rfc2.md Normal file
View File

@ -0,0 +1,43 @@
---
title: Standardising IRC Bot Behavior
author: Robert Miles <khuxkm@tilde.team>
status: Accepted
number: 2
---
## Abstract {#abstract}
IRC bots are programs that communicate with users through Internet Relay Chat. These bots can do a wide assortment of things,
from getting weather information to running games. We accept IRC bots on tilde.chat, but we ask that any prospective bot operator
follow these rules.
### `!botlist` command {#botlist}
The botlist command is our answer to not knowing the functions a bot provides.
All conformant bots MUST respond to `!botlist` with: (examples from [minerbot2](https://tildegit.org/khuxkm/minerbot2), my personal IRC bot)
- Maintainer (e.x.; "Maintainer: khuxkm@tilde.team")
- Small description (optional) (e.x.; "A utility bot that does some other cool things too!")
- Command list (e.x; "Commands: !foo !bar")
For conformance with [previous standards on other tilde boxes](https://tilde.town/wiki/bots/ircbots.html), bots SHOULD also respond to `!rollcall` with at least the command list.
Please note that the prefix of `!` is constant: no matter the usual prefix of the bot, it MUST respond to `!botlist` and/or `!rollcall` with the given prefix.
### Usermode +B
All bots on tilde.chat must set usermode +B on or near connect.
## Procedural Information {#procedures}
### Security Considerations {#security}
There are no security considerations to this document.
### Configuration Considerations {#config}
IRC bots on tilde.chat MUST be updated to follow the botlist convention and set usermode +B on connect.
For bots on tilde.chat coming from tilde.town, maintainer info must be added, as well as an alias from "!botlist" to "!rollcall".
Bots made with [teambot](https://tildegit.org/team/teambot) will be updated to set usermode +B.