+ if(userbot && (isUserModeSet(user, 'o') || isUserModeSet(user, 'O') || isUserModeSet(user, 'k') || isUserModeSet(user, 'X'))) {
+ putsock(userbot, "MODE %s +o %s", chan->name, user->nick);
+ putsock(userbot, "OPMODE %s +o %s", chan->name, user->nick);
+ }
+ }
+}
+
+void requestInvite(struct UserNode *user, struct ChanNode *chan) {
+ struct ClientSocket *bot;
+ struct ChanUser *chanuser = getChanUser(user, chan);
+ char invited = 0;
+ if(chanuser) return;
+ for(bot = getBots(SOCKET_FLAG_READY, NULL); bot; bot = getBots(SOCKET_FLAG_READY, bot)) {
+ if(!invited && (chanuser = getChanUser(bot->user, chan)) != NULL && (chanuser->flags & CHANUSERFLAG_OPPED)) {
+ invited = 1;
+ putsock(bot, "INVITE %s %s", user->nick, chan->name);
+ }