20chanservaddcommand("auth", QCMD_ALIAS | QCMD_SECURE | QCMD_NOTAUTHED,2, csa_doauth,"Authenticates you on the bot.","");
21chanservaddcommand("authhistory", QCMD_AUTHED,1, csa_doauthhistory,"View auth history for an account.","");
22chanservaddcommand("challenge", QCMD_SECURE | QCMD_NOTAUTHED,0, csa_dochallenge,"Returns a challenge for use in challengeauth.","");
23chanservaddcommand("challengeauth", QCMD_SECURE | QCMD_NOTAUTHED,3, csa_dochallengeauth,"Authenticates you on the bot using challenge response.","");
24chanservaddcommand("checkhashpass", QCMD_OPER,3, csa_docheckhashpass,"Checks supplied password against a version hashed in the database.","");
25chanservaddcommand("email", QCMD_SECURE | QCMD_AUTHED,3, csa_doemail,"Change your email address.","");
26chanservaddcommand("hello", QCMD_NOTAUTHED,2, csa_dohello,"Creates a new user account.","");
27chanservaddcommand("login", QCMD_SECURE | QCMD_NOTAUTHED,2, csa_doauth,"Authenticates you on the bot.","Usage: login <username> <password>\nAuthenticates using the supplied username and password.\n");
28chanservaddcommand("newpass", QCMD_SECURE | QCMD_AUTHED,3, csa_donewpw,"Change your password.","");
29chanservaddcommand("requestpassword", QCMD_NOTAUTHED,2, csa_doreqpw,"Requests the current password by email.","");
30chanservaddcommand("setemail", QCMD_OPER,2, csa_dosetmail,"Set the email address.","");
31chanservaddcommand("setpassword", QCMD_OPER,2, csa_dosetpw,"Set a new password.","");