+ case PUSHER_CHANMODES:
+ lua_pushstring(l, printallmodes(*((channel **)offset)));
+ break;
+ case PUSHER_REALUSERS:
+ {
+ channel *cp = *((channel **)offset);
+ nick *np2;
+ int i, currentusers = countuniquehosts(cp);
+ for(i=0;i<cp->users->hashsize;i++) {
+ if(cp->users->content[i]==nouser)
+ continue;
+
+ if((np2=getnickbynumeric(cp->users->content[i]))==NULL) {
+ Error("lua", ERR_ERROR, "Found unknown numeric %lu on channel %s", cp->users->content[i], cp->index->name->content);
+ continue;
+ }
+
+ if (IsXOper(np2) || IsService(np2))
+ currentusers--;
+ }
+ lua_pushint(l, currentusers);
+ }
+ break;