A plugin for Github functionality in IRC::Client projects
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A plugin for Github functionality in IRC::Client projects.


This module is currently only handling Github notifications through the webhook system.

Notifications through Github webhooks

Using Bailador as webserver, the plugin can act upon Github webhook calls. This means immediate notifications whenever something happens on a configured repository.


Install the module through zef:

zef install IRC::Client::Plugin::Github

Sample setup for an IRC::Client project using IRC::Client::Plugin::Github:

use Config;
use IRC::Client;
use IRC::Client::Plugin::Github;

sub MAIN
	my Config $config = Config.new;

	.run with IRC::Client.new(
			IRC::Client::Plugin::Github.new(config => $config)


Configuration is done using Config.

My preferred way of configuration is with toml files, so that’s what I’ll use here to layout the configuration options. If you want to use another style, adapt as necesary and make sure there’s a parser available and installed to use with Config.

# Set this to true to get more output on reasons why things might not be
# working for you.
debug = false

# General configuration of the plugin

# Which IP to bind Bailador to.
host = ""

# Which port to bind Bailador to.
port = 8000

# Set the message-style to "notice" to send notices instead of PRIVMSGs
message-style = "privmsg"

# The default channels to send to. If no channels are configured on the
# repository's configuration key, this array will be used instead.
channels = ["#scriptkitties"]

# If set to true, it will notify for every repository that POSTs a payload to
# the Bailador instance. Note this could be abused to spam through the bot.
# When false, every repository should be properly defined if you want to see
# any notifications from it.
allow-unknown = false

# Every repository must be configured with a heading similar like this,
# "github.webhook.repos.<repo-name>", where the repo name is the `full-name`
# attribute on the `repository` key from the webhook payload. Every "/" in the
# `full-name` must be converted to a "-", in order to play nice with toml.

# An array of channels to post notifications in. Overrides the
# `default-channels` from `github.webhook` if set.
channels = ["#scriptkitties"]


This sourcecode is distributed under the GPLv3 license.