Connect with soju
Halloy supports two different ways to connect with a soju bouncer
- Automatic network detection using the
bouncer-networksextension - Manual per-network configuration (legacy)
💡 Tip
It is strongly recommended to configure soju with the db message-store driver with:
message-store dbBoth the fs and memory message-store drivers are incompatible with the proper functioning of some IRCv3 features (e.g. IRCv3 chathistory with the memory driver or IRCv3 reactions with the fs driver).
Connect over WebSocket
It's also possible to connect over WebSocket using the IRCv3 WebSocket extension. For a soju that exposes WebSocket at /socket, configure Halloy like this:
[servers.<name>]
nickname = "<your-nickname>"
server = "<your-bouncer-url>"
port = 443
use_tls = true
use_websocket = true
websocket_path = "/socket"
[servers.<name>.sasl.plain]
username = "<your-username>"
password = "<your-password>"Automatic network detection using the bouncer-networks extension
To connect using the bouncer-networks extension, you can use the following configuration template. This will ensure you are automatically connected to all your networks.
[servers.<name>]
nickname = "<your-nickname>"
server = "<your-bouncer-url>"
[servers.<name>.sasl.plain]
username = "<your-username>"
password = "<your-password>"Configure individual networks
Add a networks section when one network needs different settings:
[servers.home]
nickname = "<your-nickname>"
server = "<your-bouncer-url>"
[servers.home.sasl.plain]
username = "<your-username>"
password = "<your-password>"
[servers.home.networks.libera.filters]
ignore = ["Guest9702"]home is the locally configured server name for the bouncer, and libera is the network name as specified with soju. The filter only applies to that network. Other supported settings still come from [servers.home].
See networks for all supported settings.
To add a network to soju after connecting:
/msg BouncerServ net create -addr irc.libera.chat -name liberaRestart Halloy if the new network does not appear in the sidebar.
Manual per-network configuration (legacy)
If you would rather manually connect to each server, you can use the following configuration template.
[servers.<name>]
nickname = "<your-nickname>"
server = "<your-bouncer-url>"
port = 6697
[servers.<name>.sasl.plain]
username = "<your-username>/<network>"
password = "<your-password>"Here is an example configuration for connecting to Libera:
[servers.libera]
nickname = "casperstorm"
server = "irc.your-bouncer-url.org"
[servers.libera.sasl.plain]
username = "casperstorm/irc.libera.chat"
password = "my-password"Using Chat History
You can enable infinite scrolling history if you want to automatically load older messages.
[buffer.chathistory]
infinite_scroll = true