#ifndef _H_SCRIPTCMD
#define _H_SCRIPTCMD

#include "mbot.h"

#define LEVEL_MODLIST 10
#define LEVEL_MODADD 10
#define LEVEL_MODDEL 10
#define LEVEL_QUIT 10
#define LEVEL_SET 10
#define LEVEL_LOADCONF 10

#define LEVEL_AWAY 10
#define LEVEL_NICK 10
#define LEVEL_UNBIND 10
#define LEVEL_JOIN 9
#define LEVEL_PART 9
#define LEVEL_STATUS 7
#define LEVEL_TOPIC 7
#define LEVEL_OPME 5
#define LEVEL_DEOPME 5
#define LEVEL_OP 5
#define LEVEL_DEOP 5
#define LEVEL_KICK 5
#define LEVEL_BAN 5
#define LEVEL_UNBAN 5
#define LEVEL_BK 5
#define LEVEL_INVITE 5
#define LEVEL_VOICE 3
#define LEVEL_DEVOICE 3
#define LEVEL_SAY 2
#define LEVEL_HELP 0

#define LEVEL_DCCKILL 9
#define LEVEL_DCCLIST 5
#define LEVEL_CHAT 0
#define LEVEL_GET 0

#define LEVEL_RANDKICK 5
#define LEVEL_TIME 0
#define LEVEL_ROSE 0
#define LEVEL_REVERSE 0

#define LEVEL_COP 7
#define LEVEL_CDEOP 7

#define LEVEL_USERADD 9
#define LEVEL_USERDEL 9
#define LEVEL_USERPASS 9
#define LEVEL_USERMSG 9
#define LEVEL_USERMASK 9
#define LEVEL_USERLEVEL 9
#define LEVEL_ID 7
#define LEVEL_USERLIST 3
#define LEVEL_SETPASS 2
#define LEVEL_SETMSG 2
#define LEVEL_PASS 0
#define LEVEL_LEVEL 0

void scriptcmd_modlist (CNetServer *);
void scriptcmd_modadd (CNetServer *);
void scriptcmd_moddel (CNetServer *);
void scriptcmd_quit (CNetServer *);
void scriptcmd_set (CNetServer *);
void scriptcmd_loadconf (CNetServer *);

void scriptcmd_away (CNetServer *);
void scriptcmd_nick (CNetServer *);
void scriptcmd_unbind (CNetServer *);
void scriptcmd_join (CNetServer *);
void scriptcmd_part (CNetServer *);
void scriptcmd_status (CNetServer *);
void scriptcmd_topic (CNetServer *);
void scriptcmd_opme (CNetServer *);
void scriptcmd_deopme (CNetServer *);
void scriptcmd_op (CNetServer *);
void scriptcmd_deop (CNetServer *);
void scriptcmd_kick (CNetServer *);
void scriptcmd_ban (CNetServer *);
void scriptcmd_unban (CNetServer *);
void scriptcmd_bk (CNetServer *);
void scriptcmd_invite (CNetServer *);
void scriptcmd_voice (CNetServer *);
void scriptcmd_devoice (CNetServer *);
void scriptcmd_say (CNetServer *);
void scriptcmd_help (CNetServer *);

void scriptcmd_dcclist (CNetServer *);
void scriptcmd_dcckill (CNetServer *);
void scriptcmd_chat (CNetServer *);
void scriptcmd_get (CNetServer *);
void scriptcmd_dcc_event (CNetServer *);

void scriptcmd_randkick (CNetServer *);
void scriptcmd_time (CNetServer *);
void scriptcmd_rose (CNetServer *);
void scriptcmd_reverse (CNetServer *);

void scriptcmd_cop (CNetServer *);
void scriptcmd_cdeop (CNetServer *);

void scriptcmd_useradd (CNetServer *);
void scriptcmd_userdel (CNetServer *);
void scriptcmd_userpass (CNetServer *);
void scriptcmd_usermsg (CNetServer *);
void scriptcmd_usermask (CNetServer *);
void scriptcmd_userlevel (CNetServer *);
void scriptcmd_id (CNetServer *);
void scriptcmd_userlist (CNetServer *);
void scriptcmd_setpass (CNetServer *);
void scriptcmd_setmsg (CNetServer *);
void scriptcmd_pass (CNetServer *);
void scriptcmd_level (CNetServer *);

void scriptcmd_ctcp_var (CNetServer *, c_char, char *, size_t);

#endif
