--- privdeaf.c	2025-12-17
+++ privdeaf.c	2025-12-17
@@ -1,6 +1,6 @@
 /*
  * usermode +D: makes it so you cannot receive private messages/notices
  * except from opers, U-lines and servers. -- Syzop
  */

 #include "unrealircd.h"

 ModuleHeader MOD_HEADER
 = {
 	"usermodes/privdeaf",
-	"1.2",
+	"1.3",
 	"Private Messages Deaf (+D) -- by Syzop",
 	"UnrealIRCd Team",
 	"unrealircd-6",
 };
@@ -45,10 +45,14 @@
 	return MOD_SUCCESS;
 }

 int privdeaf_can_send_to_user(Client *client, Client *target, const char **text, const char **errmsg, SendType sendtype, ClientContext *clictx)
 {
+	if (sendtype == SEND_TYPE_TAGMSG)
+		return HOOK_CONTINUE;
+
 	if ((target->umodes & UMODE_PRIVDEAF) && !IsOper(client) &&
 	    !IsULine(client) && !IsServer(client) && (client != target))
 	{
 		*errmsg = "User does not accept private messages";
 		return HOOK_DENY;
 	}
 	return HOOK_CONTINUE;
 }
