Skip to main content

Channel bot

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) 

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

It is also possible to add automated RSS feed checks for news and project updates to a channel. Currently our bot polls the remote RSS feeds every 10 minutes. The command to add a feed is: !rss add <feed url>. list and remove are other options.

The format of the feed can be adapted with this command: !config c rss-format $longtitle: $title by $author - $link

The bot also allows monitoring Mumble voice channels for activity and usage statistics. If you need bridging of the chat, this can be done with our Matterbridge.

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.

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.