aboutsummaryrefslogtreecommitdiffstats
path: root/chat.sr.ht/bouncer-usage.md
blob: 33ebf6d41b3b78df1369cd846601b6714639176b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Using the chat.sr.ht bouncer

For full details, refer to the [soju(1)](https://soju.im/doc/soju.1.html) man
page. Information about common use-cases is provided here.

## Connecting with a third-party IRC client

<!-- Note: update chat.sr.ht/quickstart.md if changing this -->

To connect with a third-party IRC client, you will need to generate an OAuth 2.0
personal access token to use as your server password. Visit [the personal access
token issuance page](https://meta.sr.ht/oauth2/personal-token) and set the
grant string to "meta.sr.ht/PROFILE:RO", adding an optional comment, and leaving
the other fields unchanged.

**Hostname**: chat.sr.ht
**Port**: 6697
**SSL/TLS**: Yes
**SASL**: Yes
**Username**: *Your sourcehut username*
**Password**: *Your personal access token*

If you intend to use multiple clients, it is recommended that you append
"@*clientname*" to your username, using an arbitrary unique string to identify
each client. If your IRC client does not support soju's
"soju.im/bouncer-networks" extension (check if [a plugin is available][config]),
you may want to configure separate connections for each network by using the
username format `username/network-name@client-name`.

See [client-specific configuration][config] for recommended configuration steps
specific to your preferred IRC client.

[config]: #client-specific-configuration

## Managing your IRC networks

The webchat at [chat.sr.ht](https://chat.sr.ht) provides a UI for managing your
bouncer networks. Third-party clients with soju support may detect the bouncer
and offer similar functionality. If not, you can also message BouncerServ to
configure soju. Use `/msg BouncerServ help` for a full list of supported
commands.

To add a new IRC network via BouncerServ:

```
/msg BouncerServ network create -addr <hostname> [options...]
```

See [soju(1)](https://soju.im/doc/soju.1.html#IRC_SERVICE) for details on the
supported options.

## Detaching from channels

You can instruct the bouncer to "detach" from a channel. This causes it to be
hidden from your channel list, but to leave your connection to the channel
active. If you're mentioned by a user in this channel, you will receive
notifications for it, and if you re-join later, you will be able to view logs of
discussions which took place in your absence.

To detach from a channel, use the `/part detach` command, or `/msg BouncerServ
channel update <name> -detached=<true|false>`.

## Client-specific configuration

Various configuration recommendations for third-party IRC clients.

### Weechat

The [soju.py][soju.py] user script enables you to configure one connection to
soju, then automatically connect to any networks you have configured on the
bouncer.

[soju.py]: https://weechat.org/scripts/source/soju.py.html/

```
/script install soju.py
/script load soju.py
/script autoload soju.py
/server add .bouncer chat.sr.ht/6697 -ssl -autoconnect -username=<your sourcehut username> -password=<oauth token>
```