summaryrefslogtreecommitdiff
path: root/src/unreal32.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/unreal32.c')
-rw-r--r--src/unreal32.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/unreal32.c b/src/unreal32.c
index 90915071b..d3d92a8b7 100644
--- a/src/unreal32.c
+++ b/src/unreal32.c
@@ -102,6 +102,8 @@ IRCDVar ircd[] = {
0, /* +I support */
'&', /* SJOIN ban char */
'\"', /* SJOIN except char */
+ UMODE_S, /* Services Client mode */
+ 0, /* not p10 */
},
{NULL}
};
@@ -429,11 +431,21 @@ void anope_set_umode(User * user, int ac, char **av)
if (add) {
opcnt++;
- if (WallOper)
- anope_cmd_global(s_OperServ,
- "\2%s\2 is now an IRC operator.",
- user->nick);
- display_news(user, NEWS_OPER);
+ /* No need to display news to a services client */
+ if (user->mode & ircd->servicesmode) {
+ if (WallOper) {
+ anope_cmd_global(s_OperServ,
+ "\2%s\2 is now a Network Service.",
+ user->nick);
+ }
+ } else {
+ if (WallOper) {
+ anope_cmd_global(s_OperServ,
+ "\2%s\2 is now an IRC operator.",
+ user->nick);
+ }
+ display_news(user, NEWS_OPER);
+ }
} else {
opcnt--;
}