+#include "cmd_neonserv.h"
+
/*
* argv[0] - usermask
* argv[1] - min access
int max_access;
};
-static CMD_BIND(neonserv_cmd_users) {
+CMD_BIND(neonserv_cmd_users) {
int min_access = 1, max_access = 500;
char *usermask = NULL;
if(argc > 0)
cache->usermask = (usermask ? strdup(usermask) : NULL);
cache->min_access = min_access;
cache->max_access = max_access;
- get_userlist(chan, neonserv_cmd_users_userlist_lookup, cache);
+ get_userlist_with_invisible(chan, neonserv_cmd_users_userlist_lookup, cache);
}
static USERLIST_CALLBACK(neonserv_cmd_users_userlist_lookup) {
is_here = 0;
for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) {
if((chanuser->user->flags & USERFLAG_ISAUTHED) && !strcmp(chanuser->user->auth, row[1])) {
- is_here = 1;
- break;
+ if((chanuser->flags & CHANUSERFLAG_INVISIBLE))
+ is_here = 2;
+ else {
+ is_here = 1;
+ break;
+ }
}
}
if(is_here) {
- content[2] = get_language_string(user, "NS_USERS_SEEN_HERE");
+ content[2] = get_language_string(user, (is_here == 2 ? "NS_USERS_SEEN_INVISIBLE" : "NS_USERS_SEEN_HERE"));
} else if(!strcmp(row[2], "0")) {
content[2] = get_language_string(user, "NS_USERS_SEEN_NEVER");
} else {