--- /dev/null
+throw error when user attempts to msg nick@server but is stopped by usermode +R or +q
+
+diff -r 8e6a04a8cd81 ircd/ircd_relay.c
+--- a/ircd/ircd_relay.c Wed Mar 24 12:59:31 2010 +0100
++++ b/ircd/ircd_relay.c Wed Mar 24 13:07:16 2010 +0100
+@@ -307,12 +307,16 @@
+ *--host = '%';
+
+ /* slug: I don't think this is required, but I might have missed something */
+- if (IsAccountOnly(acptr) && !IsAccount(sptr) && !IsXtraOp(sptr))
++ if (IsAccountOnly(acptr) && !IsAccount(sptr) && !IsXtraOp(sptr)) {
++ send_reply(sptr, ERR_ACCOUNTONLY, cli_name(acptr), feature_str(FEAT_URLREG));
+ return;
++ }
+
+ /* slug: same applies here, since only opers can be +k */
+- if (IsCommonChansOnly(acptr) && !IsXtraOp(sptr) && !common_chan_count(acptr, sptr, 1))
++ if (IsCommonChansOnly(acptr) && !IsXtraOp(sptr) && !common_chan_count(acptr, sptr, 1)) {
++ send_reply(sptr, ERR_COMMONCHANSONLY, cli_name(acptr));
+ return;
++ }
+
+ if (!(is_silenced(sptr, acptr)))
+ sendcmdto_one(sptr, CMD_PRIVATE, acptr, "%s :%s", name, text);