# Common IRC commands

## Ergo IRCd

Our IRC network runs on the modern IRCv3 capable IRCd [Ergo.chat](https://ergo.chat). It therefore comes with additional built in features and network services that can be accessed via in client commands.

## Quick cheat sheet


### Accounts

Note: The preferred methode for account creation is to [apply for an account](https://wiki.f-hub.org/books/accounts/page/how-to-apply-for-an-account) on F-hub.org. (Work in progress, please try the below)

Register a legacy account (for multi-client use) by sending this on IRC as an guest:

```/msg NickServ register mySecretPassword validEmailAddress@example.com```

Afterwards, you will get an automated email with further instructions on how to verify this account.

Note: Only SASL auth is supported and you can not change your nickname after registering it.

Delete an account with (follow instructions):
```/msg NickServ unregister *yournick*```

Turn off persistent connection mode (bouncer):
```/msg NickServ set always-on false```

Play back channel history on legacy clients:
```/history #channel 12h (time duration or message count)```

Or set it to autoreply the latest messages: ```/msg NickServ set autoreplay-lines 25```

### Channels

Register a channel: ```/msg ChanServ register #myChannel```

Set channel mode: ```/mode #channel +/-attribute```

```+p``` - Sets the channel as invisible in /list.

```+m``` - Mute users who are not opped/hopped/voiced.

```+R``` - Only registered nicks are allowed in.

```+M``` - Only registered nicks are allowed to talk.

Kick user from channel:
```kick #channel nickname [reason]```

Set user mode in current channel: ```/mode #channel +/-attributes nickname```

```+o``` - User is an operator (prefix @).

```+h``` - User is a half-op (prefix %).

```+v``` - User has is unmuted (prefix +).

### Help

Help messages for service:

```/msg NickServ HELP```

```/msg ChanServ HELP```

You can use /NS or /CS instead.

### Other useful commands:

```/join #channel - Joins the specified channel.```

```/part #channel - Leave the specified channel.```

```/nick nickname - Changes your nick (unless SASL authed).```

```/names #channel - Shows the nicks of all users on #channel.```

```/msg nickname message - Sends a private message to a user.```

```/me action - Prints "yourname action"```