Flags are one of two ways of giving access to users in order for them to use bot commands. The other is rank. Flags are single-letters that can be defined to mean any set of commands that users can do.
If a user has any of a command's required set of flags, he is allowed to use the command. The user does not need more than one of a command's required flags. Command restrictions may also be present requiring a higher rank or another flag in order to use certain commands in certain ways.
Valid flags are A through Z. You can set the configuration override CaseSensitiveFlags to Y in order to make uppercase flags have a different meaning to the bot than lowercase flags (effectively doubling the number of available flags). When this is set, the bot internally uses the uppercase variant for special flags.
Some flags have special meanings to the bot:
- B - Users with the B flag (Banned) are automatically banned from the channel (if the bot is a channel operator). This flag is the functionality of the shitlist.
- D - Users with the D flag (Designated) are automatically designated using the Battle.net /designate command (if the bot is a channel operator).
- I - Users with the I flag (No-Inherit) will be treated as if group and dynamic access rules applied by other userlist entries do not exist.
- P - Users with the P flag (Protected) cannot be changed by other users with access to the add command. Only users with rank 100 or flag A can change this user entry.
- S - Users with the S flag (Safelisted) will not be banned by automatic banning, such as quiet time.
- A - By default, users with the A flag (Administrator) have access to all database administrative commands. Commands that require A by default may also be used by users with the R flag. However, using the add command to set certain users to any of the flags A, C, D, F, G, I, L, O, P, or T requires solely the A flag and cannot be done by users with only the R flag.
- J - By default, users with the J flag (Join) have access to all joining channel related commands. Commands that require J by default are: home, join, and rejoin.
- M - By default, users with the M flag (Master) have access to configuration commands. Commands that require M by default are: server, mp3, addquote, away, back, uptime, mmail, greet, profile, whispercmds, filter, unfilter, block, unblock, allowmp3, useitunes, usewinamp, setidle, idletype, idletime, repeat, reconnect, settrigger, sethome, idle, shuffle, pause, fos, setvol, stop, play, next, previous, setkey, setexpkey, clan, readfile, setname, setpass, setserver, loadwinamp, locktext, and quit.
- O - By default, users with the O flag (Operator) have access to moderation bot commands. Commands that require O by default are: voteban, votekick, info, ping, bancount, banlistcount, lastseen, levelban, d2levelban, kick, ban, unban, phrases, addphrase, setpmsg, delphrase, pon, poff, pstatus, ipban, unipban, ipbans, banned, protect, kickonyell, clientbans, cadd, cdel, plugban, phrasebans, des, igpriv, unigpriv, sweepban, idlebans, clearbanlist, chpw, motd, resign, quiettime, giveup, setmotd, and peonban.
- R - By default, users with the R flag (Restricted administrator) have access to some database administrative commands. Commands that require R by default are (these also may be used by users with the A flag): find, findgrp, whois, findattr, add, safecheck, shitcheck, detail, tagcheck, shitlist, shitadd, shitdel, safeadd, safedel, safelist, tagbans, tagadd, tagdel, rem, exile, and unexile.
- T - By default, users with the T flag (Talk) have access to commands that modify the input text or deal with talking. Commands that require T by default are: expand, say, shout, ignore, unignore, frem, fadd, and sweepignore.
By default, the bot defines several commands as being "basic" in terms of flag requirements in that a user who has any of the above default flags can access them (since you need only one of the required flags in order to access a command). Basic commands are: inbox, checkmail, roll, bmail, flip, scq, cq, whoami, about, pingme, trigger, time, vote, tally, math, where, cancel, owner, quote, lastwhisper, help, helpattr, and helprank.
Making your own set of flag-meanings
Using the command manager, one can change the requirements of any command.
For example, to make more commands "basic" like those above-- usable by anyone you give any flag to-- you can set the required flags to all of the flags you are going to give to users (such as the default value of "AJMORT", which is all of the flags the default settings use).