Skip to main content

Channel bot

We are currently switching the channelbot back to Linmoria as bitbot is mostly unmaintained. The below will be therefore outdated soon.

We provide an advanced IRCv3 channel bot that provides many small usability improvements for IRC users and channel admins. The bot is based on Bitbot and supports a wide range of modules, but documentation of them is a bit lacking.

Features for users

(this is a stub, check back later for more details)

The bot responds if its name is added to the front of a message like this bitbot: or to certain commands starting with "!" like !help. You can also /msg the bot privately for registering your IRC nick with the bot (more on this further below).

The bot will join a channel by inviting it via /invite bitbot. Once it joined the channel, basic commands are available to all users.

!modules list (extended by a !more)will show a list of available addons. You can get a short explanation by sending !help <module name> or a list of available command via !commands <module name>.

You can try out most of the commands on our #botplayground channel. Please do not spam other channels with this :)

The !in command will for example set a user-specific reminder with a message like this !in 3h don't forget to stretch which will cause the bot to send a message 3 hours later that notifies your nick and repeats the message.

Another useful feature are votes. Send !votes to see a list of currently open polls. !commands vote will show you the possible options for this module. A poll can be responded to with !vote <id> [choice].

If a user is currently not online and you want to make sure they see it next time they are active you can also ask the bot to relay a message to them with the !tell command. For example !tell Bob please DM me will make Bitbot say please DM me with your nick the next time Bob is writing something on the channel.

Features for channel operators

(this is a stub, check back later for more details) 

Limnoria also offers a range of features to channel operators such as automatic link previews, automatic RSS/ATOM feeds etc.

You can enable automatic link previews in your channel via bot config plugins.Web.titleSnarfer True. For more details on this feature see the official Limnoria documentation.

Git forge integration

Bitbot can also be integrated with git-forge webhooks for automatically posting about new issues and PRs on your projects Github, Gitlab or Gitea/Forgejo instance.

First you need to generate a bitbot API key like this: /msg bitbot apikey add git-yournick /api/github /api/gitea /api/gitlab You can remove the api endpoints that you don't need. The git-yournick is just an internal identifier. If Bitbot complains about insufficient permissions to generate a key, please contact us on the #support IRC channel.

Afterwards you can enabled the webhook in an IRC channel for a single repository: !webhook add <organisation>/<repository> or an whole organisation !webhook add <organisation>.

The webhook URL needs to follow this example: https://bitbot.f-hub.org/api/github?key=<apikey> . Replace github with gitea (also for Forgejo) or gitlab respectively. This needs to be configured in the git-forge. On the F-hub.org Forgejo open the repository settings and add a Gitea or Forgejo webhook. Select Custom Events if you for example only want the channel to be notified about new issues or pull requests.

Slack webhook integration

Via Limnoria's Grapnel plugin channels can be integrated with Slack like webhooks. The endpoint URL for it is https://ircbot.f-hub.org/grapnel/. You can add a channel specific webhook endpoint via bot grapnel add which will make the bot send you the secret webhook URL in a private message. You can replace your-cool-app-name at the end of the URL with the name of the sending app; it will be then reflected in the output notice by the bot.

Auto-moderation features

The channel-bot also provides auto-moderation and shared spam block-lists. For this the bot needs to be given half-op rights to be allowed to kick and ban other chat participants.

One common feature is to protect channels against user-highlight spam (as this notifies users and is abused to annoy people). The channel-bot allows setting a custom maximum threshold for user-highlights in a single message.

You can set the threshold per channel like this: !config c highlight-spam-threshold 5 and the enable kicking users via !config c highlight-spam-protection true. If kicking isn't sufficient you can also enabled bans like this: !config c highlight-spam-ban true.

Other features

Fediverse integration

(this is a stub, check back later for more details)

Bitbot allows interacting with ActivityPub  compatible social media websites.

Authentication

(this is a stub, check back later for more details)

For some of the more advanced features you need to first register your IRC nick with the bot like this:  /msg bitbot register <password here> (the password is a new one for the bot, not your SASL password).

Once you are registered with the bot you can ask one of our network operators to get elevated permissions for further bot configuration.