diff options
Diffstat (limited to 'irc_channel.c')
-rw-r--r-- | irc_channel.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/irc_channel.c b/irc_channel.c index 3ccbce55..e8564da7 100644 --- a/irc_channel.c +++ b/irc_channel.c @@ -441,7 +441,11 @@ void irc_channel_set_mode(irc_channel_t *ic, const char *s) char irc_channel_user_get_prefix(irc_channel_user_t *icu) { - if (icu->flags & IRC_CHANNEL_USER_OP) { + if (icu->flags & IRC_CHANNEL_USER_OWNER) { + return '~'; + } else if (icu->flags & IRC_CHANNEL_USER_ADMIN) { + return '&'; + } else if (icu->flags & IRC_CHANNEL_USER_OP) { return '@'; } else if (icu->flags & IRC_CHANNEL_USER_HALFOP) { return '%'; @@ -920,6 +924,10 @@ static char *set_eval_show_users(set_t *set, char *value) modechar = IRC_CHANNEL_USER_HALFOP; } else if (last == '@') { modechar = IRC_CHANNEL_USER_OP; + } else if (last == '&') { + modechar = IRC_CHANNEL_USER_ADMIN; + } else if (last == '~') { + modechar = IRC_CHANNEL_USER_OWNER; } if (strncmp(*part, "offline", 7) == 0) { |