I'm getting to the point where I can implement modes for users on OmnomIRC(per-channel).
I'm thinking this:
User modes:
+b - banned, cannot speak or view chat. Equivalent to +b on IRC.
+m - muted, cannot speak, but can view chat (This would be closest to +m -v user on IRC)
+o - operator, can set +d, +m on users, can always speak/see chat (This would be closest to +a on admin chans)
+i - invited, this user has been invited to the chan by an operator. This would be overridden by +d, +m. +o would imply
the first user to join a channel will receive a +o flag, along with all Omni staff. We can remove/add +o's.
Chan-wise modes:
+s - secret, won't be displayed on the list when I get it added
+c - closed, will only be settable by Omni admins. Effectively a ban on *. It'd be used for channels like @cemetech or @goatse, since they don't need to be on OmnomIRC.
+i - invite only, user must have +i in the chan to join (will effectively be a +b on the user unless they have +i)
Commands:
@(un)ban nick - (un)sets +b on nick
@(un)mute nick - (un)sets +m on nick
@(un)invite nick - (un)sets +i on nick
@(de)op nick - (un)sets +o on nick
@close/open chan - (un)sets mode +c on chan
@drop chan - drops chan, removes all entries from the permissions table, the next user to join would then get +o. It'd be useful for a chan that was last used 4 months ago that someone wants now.
I won't be implementing kicks, I just don't think they'd be any good to have.
Close/open will obviously only work for non-IRC chans. I will try to make invite respect the chan modes, so @(un)invite doesn't need to be set from Omnom on them.
IRC operators will also have +o on OmnomIRC for them, and will be able to execute @defaen, @mute, @op, and @invite from within the chan.
Any suggestions on this? I'ma see about getting it started tomorrow.