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.
Automatic link previews can be enabled with !config c auto-title true
for example. This setting is channel specific as shown by the c
in the command. Some other settings are bot b
or server s
specific.
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.