#trilema bot spec

Wednesday, 14 September, Year 8 d.Tr. | Author: Mircea Popescu

So you want to add a bot to #trilema ? Good for you - bots are welcome. You don't even have to ask for permission, with the exception that if you want the bot to also speak in channel then it must :

  1. Respond to a two character control code - see the bot directory for the next available one (scroll down). It may not answer to anything else, with the sole exception that if your bot is connected to a web-based log of the channel and someone (humans or deedbot, but not other logger bots) posts a link to a certain line in that log then it may read out the line corresponding to the link.
  2. Not speak of its own accord, but only in response to in-channel commands ; and generally limit its responses to one line at a time.
  3. Answer to "help" sent in PM with a list of supported commands in plain text or html format, either directly or via a link to webpage.
  4. Answer to "help json" sent in PM with a list of supported commands in json format, either directly or via a link to webpage.
  5. Answer to "help sexpr" sent in PM with a list of supported commands in sexpr format, either directly or via a link to webpage.
  6. Not join/part excessively. As a general rule please code your bot so it joins no more than once a day. Netsplits do not count towards this.
  7. Not send unsolicited PMs to the people in the channel. Opt-in services such as deedbot's RSS reader are fine - but make sure they're opt-in and that there's a way to opt out.

The bot should implement self voicing via authenticating itself with deedbot. You may receive a derrogation from this rule if you need it, with the understanding that you will eventually implement the proper authentication mechanism.

Bots are also encouraged to submit all links they encounter in the channel to the web archival service of your choice.

In general failure to comply with this spec will result in a warning if/when someone notices. If your bot is enough of a pain in the ass it will be devoiced until compliant. That's about it, have fun!

Category: Bitcoin
Comments feed : RSS 2.0. Leave your own comment below, or send a trackback.

11 Responses

  1. Framedragger`s avatar
    1
    Framedragger 
    Wednesday, 14 September 2016

    > Answer to "help" sent in PM

    Presumably it'd be OK if it responded in PM with "CONTROLSEQUENCE help" sent to the channel, too? (*Not* just "help" in channel or "$help" in channel, note.)

  2. Mircea Popescu`s avatar
    2
    Mircea Popescu 
    Wednesday, 14 September 2016

    Sure, no problem with that. However you have to consider the user seeking help may not be voiced (for example because that's what he's trying to achieve in the first place) - so it has to handle pms. Whether it handles in-channel or not is unspecified deliberately.

  3. Mircea Popescu`s avatar
    3
    Mircea Popescu 
    Wednesday, 14 September 2016

    &updated.

  1. [...] In an ideal, purely platonic world, trilemabot represents a perfect cut of the points in the #trilema bot spec that are common to all #trilema bots, past, present and future. In practice, basing his or her bot [...]

  2. [...] In an ideal, purely platonic world, trilemabot represents a perfect cut of the points in the #trilema bot spec that are common to all #trilema bots, past, present and future. In practice, basing his or her bot [...]

  3. [...] part of this series, the patch below teaches trilemabot to respond to prefixed commands, as per the spec. More specifically, the bot takes a pre-defined1 prefix, a command and optional arguments, in the [...]

  4. [...] You've most probably arrived here via !1 help. Read below for a description of available bot [...]

  5. [...] surgically remove any and every thing that's not needed for c. IRC bots in general, as well as d. #trilema bots and e. Feedbot in particular, keeping only what's actually used -- then you're more welcome to [...]

  6. [...] excludes socialism. [↩]As carried in the TMSR forum, or for that matter as transparent from the bot spec for instance. [↩]In the example given, wedge #1 ("but mp, in order to use item x you have to [...]

  7. [...] bot should be printed in paranthesis after their name. [↩]Including it in the response to !P help works for the purpose of satisfying this criteria. [↩]This system makes it impractical for [...]

  8. [...] I removed channel reconnection on kick. It's not explicitly stated in the #trilema bot spec, but I get the impression that bots are to do as told. If someone with the authority to do so kicks [...]

Add your cents! »
    If this is your first comment, it will wait to be approved. This usually takes a few hours. Subsequent comments are not delayed.