aboutsummaryrefslogtreecommitdiffstats
path: root/irc_im.c
diff options
context:
space:
mode:
authorjgeboski <jgeboski@gmail.com>2014-12-17 12:57:17 -0500
committerjgeboski <jgeboski@gmail.com>2015-01-28 12:06:40 -0500
commit7b8238d0c9f409deaa15147bc76fc77101cb52c3 (patch)
tree10ea10fb01e94ded97600c00368ee66b1a61ab89 /irc_im.c
parent1fa510944f3f95f1907422dc8f7cfe9238b99cd0 (diff)
irc-channel: implemented a special mode for show_users
This allows for users to be declared as being special, which does not have any specific meaning. The meaning of being special is different from protocol-to-protocol, which many protocols do not even implement. This functionality is mainly geared towards a special user state which only some protocols may actually need to define. For example, with the third-party Steam plugin, this can be used for denoting a user which is actively playing a game. By default, this mode will not actually be used by any plugin. However, it does default to the half-operator user mode.
Diffstat (limited to 'irc_im.c')
-rw-r--r--irc_im.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/irc_im.c b/irc_im.c
index 0fa15a12..9f4fd83c 100644
--- a/irc_im.c
+++ b/irc_im.c
@@ -189,8 +189,10 @@ void bee_irc_channel_update( irc_t *irc, irc_channel_t *ic, irc_user_t *iu )
mode = icc->modes[0];
else if( iu->bu->flags & BEE_USER_AWAY )
mode = icc->modes[1];
- else
+ else if( iu->bu->flags & BEE_USER_SPECIAL )
mode = icc->modes[2];
+ else
+ mode = icc->modes[3];
if( !mode )
irc_channel_del_user( ic, iu, IRC_CDU_PART, NULL );