]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/proto-p10.c
Some tweaks to automode help
[irc/evilnet/x3.git] / src / proto-p10.c
index 82bd7cf943cc18dc21d6c0ce3a96bf797a57b8aa..baba4991a4f3b218855646ca7fd9f3762a2eb9b1 100644 (file)
@@ -714,6 +714,16 @@ irc_mode(struct userNode *from, struct chanNode *target, const char *modes)
             target->name, modes, target->timestamp);
 }
 
+/* Added to allow services to mode users
+   2005 - 8 - 10 by Life4Christ
+*/
+void
+irc_umode(struct userNode *target, const char *modes)
+{
+    putsock("%s " P10_MODE " %s %s ",self->numeric,target->nick, modes);
+}
+
+
 void
 irc_invite(struct userNode *from, struct userNode *who, struct chanNode *to)
 {
@@ -2150,7 +2160,6 @@ void mod_usermode(struct userNode *user, const char *mode_change) {
        case '+': add = 1; break;
        case '-': add = 0; break;
        case 'o':
-           do_user_mode(FLAGS_OPER);
            if (add) {
                 if(!IsOper(user)) { /* Dont re-oper an oper */
                     userList_append(&curr_opers, user);
@@ -2159,6 +2168,7 @@ void mod_usermode(struct userNode *user, const char *mode_change) {
            } else {
                userList_remove(&curr_opers, user);
            }
+           do_user_mode(FLAGS_OPER);
            break;
        case 'O': do_user_mode(FLAGS_LOCOP); break;
        case 'i': do_user_mode(FLAGS_INVISIBLE);