116 lines
3.3 KiB
Markdown
116 lines
3.3 KiB
Markdown
# Clients
|
|
|
|
This page describes how to configure IRC clients to better integrate with soju.
|
|
|
|
Also see the [IRCv3 support tables] for a more general list of clients.
|
|
|
|
# catgirl
|
|
|
|
catgirl doesn't implement cap-3.2, so many capabilities will be disabled.
|
|
catgirl developers have publicly stated that supporting bouncers such as soju
|
|
is a non-goal.
|
|
|
|
# [Emacs]
|
|
|
|
There are two clients provided with Emacs. They require some setup to work
|
|
properly.
|
|
|
|
## Erc
|
|
|
|
You need to explicitly set the username, which is the defcustom
|
|
`erc-email-userid`.
|
|
|
|
```elisp
|
|
(setq erc-email-userid "<username>/irc.libera.chat") ;; Example with Libera.Chat
|
|
(defun run-erc ()
|
|
(interactive)
|
|
(erc-tls :server "<server>"
|
|
:port 6697
|
|
:nick "<nick>"
|
|
:password "<password>"))
|
|
```
|
|
|
|
Then run `M-x run-erc`.
|
|
|
|
## Rcirc
|
|
|
|
The only thing needed here is the general config:
|
|
|
|
```elisp
|
|
(setq rcirc-server-alist
|
|
'(("<server>"
|
|
:port 6697
|
|
:encryption tls
|
|
:nick "<nick>"
|
|
:user-name "<username>/irc.libera.chat" ;; Example with Libera.Chat
|
|
:password "<password>")))
|
|
```
|
|
|
|
Then run `M-x irc`.
|
|
|
|
# [gamja]
|
|
|
|
gamja has been designed together with soju, so should have excellent
|
|
integration. gamja supports many IRCv3 features including chat history.
|
|
gamja also provides UI to manage soju networks via the
|
|
`soju.im/bouncer-networks` extension.
|
|
|
|
# [goguma]
|
|
|
|
Much like gamja, goguma has been designed together with soju, so should have
|
|
excellent integration. goguma supports many IRCv3 features including chat
|
|
history. goguma should seamlessly connect to all networks configured in soju via
|
|
the `soju.im/bouncer-networks` extension.
|
|
|
|
# [Hexchat]
|
|
|
|
Hexchat has support for a small set of IRCv3 capabilities. To prevent
|
|
automatically reconnecting to channels parted from soju, and prevent buffering
|
|
outgoing messages:
|
|
|
|
/set irc_reconnect_rejoin off
|
|
/set net_throttle off
|
|
|
|
# [irssi]
|
|
|
|
Assuming you want to connect irssi to your soju instance for one network
|
|
(single-upstream mode), for example libera.chat:
|
|
|
|
/network add -user <soju user>/irc.libera.chat libera
|
|
/server add -auto -tls -network libera <soju ip or hostname> <soju port> <soju password>
|
|
|
|
Then, to actually connect:
|
|
|
|
/connect libera
|
|
|
|
# [senpai]
|
|
|
|
senpai is being developed with soju in mind, so should have excellent
|
|
integration. senpai supports many IRCv3 features including chat history.
|
|
senpai should seamlessly connect to all networks configured in soju via the
|
|
`soju.im/bouncer-networks` extension.
|
|
|
|
# [Weechat]
|
|
|
|
A [Weechat script] is available to provide better integration with soju.
|
|
The script will automatically connect to all of your networks once a
|
|
single connection to soju is set up in Weechat.
|
|
|
|
On WeeChat 3.2-, no IRCv3 capabilities are enabled by default. To enable them:
|
|
|
|
/set irc.server_default.capabilities account-notify,away-notify,cap-notify,chghost,extended-join,invite-notify,multi-prefix,server-time,userhost-in-names
|
|
/save
|
|
/reconnect -all
|
|
|
|
See `/help cap` for more information.
|
|
|
|
[IRCv3 support tables]: https://ircv3.net/software/clients
|
|
[gamja]: https://sr.ht/~emersion/gamja/
|
|
[goguma]: https://sr.ht/~emersion/goguma/
|
|
[senpai]: https://sr.ht/~taiite/senpai/
|
|
[Weechat]: https://weechat.org/
|
|
[Weechat script]: https://github.com/weechat/scripts/blob/master/python/soju.py
|
|
[Hexchat]: https://hexchat.github.io/
|
|
[Emacs]: https://www.gnu.org/software/emacs/
|
|
[irssi]: https://irssi.org/
|