1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-28 13:36:37 +02:00
Bram Matthys 2eecf4f2da Use generic numeric 531 (ERR_CANTSENDTOUSER) for all such cases and use hook
CAN_SEND_TO_USER rather than HOOKTYPE_PRE_USERMSG (which is now removed).

As for the numeric change: this makes it much easier for client devs.
You rarely need to differentiate in the client code between the various
causes. One only cares about detecting that the message was not sent and
that the user needs to be informed.
This replaces various NOTICEs, ERR_NOCTCP, ERR_NONONREG etc. with just the
new numeric 531, which is taken from InspIRCd. The syntax is:
:server 531 yourname targetname :reason for the block
This makes it similar to numeric 404 (ERR_CANNOTSENDTOCHAN) that is used to
indicate that a channel message was blocked.

For module devs, the new hook CAN_SEND_TO_USER prototype is:
int hooktype_can_send_to_user(Client *client, Client *target, char **text, char **errmsg, int notice);
You can replace the text via this, by setting *text in your function.
You can block the message, by returning HOOK_DENY. If doing so, then
you must also set *errmsg to an appropriate value.
Do not send any error message to the user! UnrealIRCd will take care of
sending the error message for you, if you set *errmsg.
Only if you need something special you could violate this rule, but
preferably not!

As you can see, CAN_SEND_TO_USER works just like CAN_SEND_TO_CHANNEL.
2019-10-05 12:53:41 +02:00
2019-09-21 18:19:33 +02:00
2019-09-21 18:19:33 +02:00
2000-02-28 22:45:44 +00:00
2019-08-18 11:19:18 +02:00

Twitter Follow

About UnrealIRCd

UnrealIRCd is an Open Source IRC Server, serving thousands of networks since 1999. It runs on Linux, OS X and Windows and is currently the most widely deployed IRCd with a market share of 42%. UnrealIRCd is a highly advanced IRCd with a strong focus on modularity, an advanced and highly configurable configuration file. Key features include SSL/TLS, cloaking, its advanced anti-flood and anti-spam systems, swear filtering and module support. We are also particularly proud on our extensive online documentation.

How to get started

Please consult our excellent online documentation at https://www.unrealircd.org/docs/ when setting up the IRCd!

Step 1: Installation

Windows

Simply download the UnrealIRCd Windows version from www.unrealircd.org

Alternatively you can compile UnrealIRCd for Windows yourself. However this is not straightforward and thus not recommended.

*BSD/Linux/macOS

Do the following steps under a separate account for running UnrealIRCd, do NOT compile or run as root.

Step 1: Compile the IRCd

  • Run ./Config
  • Run make
  • Run make install
  • Now change to the directory where you installed UnrealIRCd, e.g. cd /home/xxxx/unrealircd

Step 2: Configuration

Configuration files are stored in the conf/ folder by default (eg: /home/xxxx/unrealircd/conf)

Create a configuration file

If you are new, then you need to create your own configuration file: Copy conf/examples/example.conf to conf/ and call it unrealircd.conf. Then open it in an editor and carefully modify it using the documentation and FAQ as a guide (see below).

Step 3: Booting

Linux/*BSD/macOS

Run ./unrealircd start in the directory where you installed UnrealIRCd.

Windows

Start -> All Programs -> UnrealIRCd -> UnrealIRCd

Documentation & FAQ

You can find the documentation online at: https://www.unrealircd.org/docs/

We also have a good FAQ: https://www.unrealircd.org/docs/FAQ

S
Description
Languages
C 94.6%
M4 1.8%
Shell 1.5%
Rich Text Format 1%
Makefile 0.6%
Other 0.5%