irc:botbrainstorm

VimDiesel -- the (experimental) official FreeBSD IRC helper bot

This document is WIP.

  • !ask – reply with “Please don't ask to ask a question, simply ask the question, all on one line and in the channel so that others can read and follow up easily.”
  • !paste – reply with “For posting multi-line texts in the channel, please use https://dpaste.org”
    • install a pastebin on bsdlabs.io
    • integrate the pastebin with a callback URL post in a channel (first enumerate security issues and why that's a bad idea)
  • !bug <number> – reply with a summarized link to bugzilla, eg: “Issue <number>: https://bugs.freebsd.org/12345 – <summary>”
    • or even better multiline response: 1. Link + title, 2. summary
    • vary on “bug” and “issue” trigger keywords
    • add autoparse-autopost capability in #freebsd-bugs, so whenever someone mentions “issue 12345” the bot would respond as if “!issue 12345” was called
  • !portsmon <name> – give a link to portsmon, variants:
    • portsmon <name>
    • portsmon <category>/<name>
  • !latest – reply with latest supported versions, eg. “Latest FreeBSD versions are 11.0-p1, 10.3-p9 and 9.3-p47”
    • Find a way to parse these automagically, from svn or something
  • !faq <topic> – the FAQ command would summarize and link some frequently asked topics, for instance:
    • !faq graphics → link to the FreeBSD graphics stack wiki
  • !pkg <package> – show some quick info about a package
    • with link to freshports?
  • !man <manpage>(<category>) – link to the manpage for given item, ideally parse out the title from the manpage and give something like “<title>: <link>”
  • !news – list latest news via FreeBSD news RSS
  • !ops – a way to summon the chanops, eg. in case of troll invasion

Ideally, many of those commands would have a way to direct the answer to a user. For example:

  • !faq graphics | blackflow – this would prefix the output with “blackflow: ” so the user is highlighted
  • !faq graphics > blackflow – this would cause the bot to PM blackflow with that output, and in the channel it would say something like “blackflow: I just PM'd you with info”

1. Post quick links to various items of interest:

  • In #freebsd-bugs post latest newly submitted bugs, link to and summary
  • In #freebsd-security post latest newly submitted security bugs (keyword: security, TODO: Component: Security of Product: Ports&Packages)
  • In all channels, post major news only

2. Message parsing and auto-reply (plugin: MessageParser)

  • In #freebsd-bugs the bot listens to any appearance of bug (\d+) or issue (\d+) patterns and then posts a link to Bugzilla with parsed issue number.
  • Security audit, make sure the bot is read-only except to authenticated users
    • Some plugins are open for anyone like Alias and Factoids
    • One solution is to set anti-capabilities per channel
    • Another (find out how) is to remove all such default capabilities from users
  • Decide if channel-specific factoids are sufficient for !faq or find another solution if we want those to be available to all the channels
  • irc/botbrainstorm.txt
  • Last modified: 2019/02/01 05:52
  • by KubilayKocak