summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-09-26 02:33:01 -0400
committerAdam <Adam@anope.org>2010-09-26 02:33:01 -0400
commitd646d455e2655be59f6d5bcc56710ac70548ca37 (patch)
treed236b9d4991d62538a0318f213416396734e72e0 /include
parent05e6815d912f0418f6da25a2106dd718796f02fa (diff)
Changed the language system to use gettext
Diffstat (limited to 'include')
-rw-r--r--include/account.h2
-rw-r--r--include/config.h4
-rw-r--r--include/extern.h26
-rw-r--r--include/language.h1648
-rw-r--r--include/mail.h4
-rw-r--r--include/module.h8
-rw-r--r--include/modules.h42
-rw-r--r--include/services.h54
-rw-r--r--include/sysconf.h.cmake2
-rw-r--r--include/users.h7
10 files changed, 1696 insertions, 101 deletions
diff --git a/include/account.h b/include/account.h
index 4d32edabb..08652f13c 100644
--- a/include/account.h
+++ b/include/account.h
@@ -155,7 +155,7 @@ class CoreExport NickCore : public Extensible, public Flags<NickCoreFlag, NI_END
Anope::string pass; /* Password of the nicks */
Anope::string email; /* E-mail associated to the nick */
Anope::string greet; /* Greet associated to the nick */
- uint16 language; /* Language selected by nickname owner (LANG_*) */
+ Anope::string language; /* Language name */
std::vector<Anope::string> access; /* Access list, vector of strings */
MemoInfo memos;
uint16 channelcount; /* Number of channels currently registered */
diff --git a/include/config.h b/include/config.h
index 4ea2aae23..f1a4ccca7 100644
--- a/include/config.h
+++ b/include/config.h
@@ -585,8 +585,10 @@ class ServerConfig
bool NSNoGroupChange;
/* Default flags for newly registered nicks */
Flags<NickCoreFlag, NI_END> NSDefFlags;
+ /* All languages Anope is aware about */
+ Anope::string Languages;
/* Default language used by services */
- unsigned NSDefLanguage;
+ Anope::string NSDefLanguage;
/* Users must be connected this long before they can register
* Not to be confused with NickRegDelay */
time_t NSRegDelay;
diff --git a/include/extern.h b/include/extern.h
index 50d806189..95a70657a 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -154,19 +154,15 @@ E Uplink *uplink_server;
E void pmodule_ircd_proto(IRCDProto *);
E void pmodule_ircd_var(IRCDVar *ircdvar);
-/**** language.c ****/
-
-E char **langtexts[NUM_LANGS];
-E char *langnames[NUM_LANGS];
-E int langlist[NUM_LANGS];
-
-E void lang_init();
-E int strftime_lang(char *buf, int size, User *u, int format, struct tm *tm);
-E void syntax_error(const Anope::string &service, User *u, const Anope::string &command, int msgnum);
-E const char *getstring(NickAlias *na, int index);
-E const char *getstring(const NickCore *nc, int index);
-E const char *getstring(const User *nc, int index);
-E const char *getstring(int index);
+/**** language.cpp ****/
+E std::vector<Anope::string> languages;
+E void InitLanguages();
+E const Anope::string GetString(Anope::string language, LanguageString string);
+E const Anope::string GetString(LanguageString string);
+E const Anope::string GetString(const NickCore *nc, LanguageString string);
+E const Anope::string GetString(const User *u, LanguageString string);
+E Anope::string language_strings[LANG_STRING_COUNT];
+E void SyntaxError(BotInfo *bi, User *u, const Anope::string &command, LanguageString message);
/*** logger.cpp ***/
E void InitLogChannels(ServerConfig *);
@@ -239,6 +235,7 @@ E const char *merge_args(int argc, const char **argv);
E time_t dotime(const Anope::string &s);
E Anope::string duration(const NickCore *nc, time_t seconds);
E Anope::string expire_left(const NickCore *nc, time_t expires);
+E Anope::string do_strftime(const time_t &t);
E bool doValidHost(const Anope::string &host, int type);
E bool isValidHost(const Anope::string &host, int type);
@@ -314,9 +311,6 @@ E void send_cmd(const Anope::string &source, const char *fmt, ...) FORMAT(printf
E void notice_server(const Anope::string &source, const Server *s, const char *fmt, ...) FORMAT(printf, 3, 4);
-E void notice_lang(const Anope::string &source, const User *dest, int message, ...); // MARK_DEPRECATED;
-E void notice_help(const Anope::string &source, const User *dest, int message, ...); // MARK_DEPRECATED;
-
/**** sessions.c ****/
E std::vector<Exception *> exceptions;
diff --git a/include/language.h b/include/language.h
new file mode 100644
index 000000000..79e082ebf
--- /dev/null
+++ b/include/language.h
@@ -0,0 +1,1648 @@
+enum LanguageString
+{
+ LANGUAGE_NAME,
+ COMMAND_REQUIRES_PERM,
+ COMMAND_IDENTIFY_REQUIRED,
+ COMMAND_CANNOT_USE,
+ COMMAND_CAN_USE,
+ USER_RECORD_NOT_FOUND,
+ UNKNOWN_COMMAND,
+ UNKNOWN_COMMAND_HELP,
+ SYNTAX_ERROR,
+ MORE_INFO,
+ NO_HELP_AVAILABLE,
+ OBSOLETE_COMMAND,
+ BAD_USERHOST_MASK,
+ BAD_EXPIRY_TIME,
+ USERHOST_MASK_TOO_WIDE,
+ SERVICE_OFFLINE,
+ READ_ONLY_MODE,
+ PASSWORD_INCORRECT,
+ INVALID_TARGET,
+ ACCESS_DENIED,
+ MORE_OBSCURE_PASSWORD,
+ PASSWORD_TOO_LONG,
+ NICK_NOT_REGISTERED,
+ NICK_NOT_REGISTERED_HELP,
+ NICK_X_IS_SERVICES,
+ NICK_X_NOT_REGISTERED,
+ NICK_X_IN_USE,
+ NICK_X_NOT_IN_USE,
+ NICK_X_NOT_ON_CHAN,
+ NICK_X_FORBIDDEN,
+ NICK_X_FORBIDDEN_OPER,
+ NICK_X_ILLEGAL,
+ NICK_X_TRUNCATED,
+ NICK_X_SUSPENDED,
+ CHAN_X_NOT_REGISTERED,
+ CHAN_X_NOT_IN_USE,
+ CHAN_X_FORBIDDEN,
+ CHAN_X_FORBIDDEN_OPER,
+ CHAN_X_SUSPENDED,
+ NICK_IDENTIFY_REQUIRED,
+ CHAN_IDENTIFY_REQUIRED,
+ MAIL_DISABLED,
+ MAIL_INVALID,
+ MAIL_X_INVALID,
+ MAIL_LATER,
+ MAIL_DELAYED,
+ NO_REASON,
+ UNKNOWN,
+ DURATION_DAY,
+ DURATION_DAYS,
+ DURATION_HOUR,
+ DURATION_HOURS,
+ DURATION_MINUTE,
+ DURATION_MINUTES,
+ DURATION_SECOND,
+ DURATION_SECONDS,
+ NO_EXPIRE,
+ EXPIRES_SOON,
+ EXPIRES_M,
+ EXPIRES_1M,
+ EXPIRES_HM,
+ EXPIRES_H1M,
+ EXPIRES_1HM,
+ EXPIRES_1H1M,
+ EXPIRES_D,
+ EXPIRES_1D,
+ END_OF_ANY_LIST,
+ LIST_INCORRECT_RANGE,
+ CS_LIST_INCORRECT_RANGE,
+ NICK_IS_REGISTERED,
+ NICK_IS_SECURE,
+ NICK_MAY_NOT_BE_USED,
+ FORCENICKCHANGE_IN_1_MINUTE,
+ FORCENICKCHANGE_IN_20_SECONDS,
+ FORCENICKCHANGE_NOW,
+ FORCENICKCHANGE_CHANGING,
+ NICK_REGISTER_SYNTAX,
+ NICK_REGISTER_SYNTAX_EMAIL,
+ NICK_REGISTRATION_DISABLED,
+ NICK_REGISTRATION_FAILED,
+ NICK_REG_PLEASE_WAIT,
+ NICK_CANNOT_BE_REGISTERED,
+ NICK_ALREADY_REGISTERED,
+ NICK_REGISTERED,
+ NICK_REGISTERED_NO_MASK,
+ NICK_PASSWORD_IS,
+ NICK_REG_DELAY,
+ NICK_GROUP_SYNTAX,
+ NICK_GROUP_DISABLED,
+ NICK_GROUP_FAILED,
+ NICK_GROUP_PLEASE_WAIT,
+ NICK_GROUP_CHANGE_DISABLED,
+ NICK_GROUP_SAME,
+ NICK_GROUP_TOO_MANY,
+ NICK_GROUP_JOINED,
+ NICK_UNGROUP_ONE_NICK,
+ NICK_UNGROUP_NOT_IN_GROUP,
+ NICK_UNGROUP_SUCCESSFUL,
+ NICK_IDENTIFY_SYNTAX,
+ NICK_IDENTIFY_FAILED,
+ NICK_IDENTIFY_SUCCEEDED,
+ NICK_IDENTIFY_EMAIL_REQUIRED,
+ NICK_IDENTIFY_EMAIL_HOWTO,
+ NICK_ALREADY_IDENTIFIED,
+ NICK_UPDATE_SUCCESS,
+ NICK_LOGOUT_SYNTAX,
+ NICK_LOGOUT_SUCCEEDED,
+ NICK_LOGOUT_X_SUCCEEDED,
+ NICK_LOGOUT_SERVICESADMIN,
+ NICK_DROP_DISABLED,
+ NICK_DROPPED,
+ NICK_X_DROPPED,
+ NICK_SET_SYNTAX,
+ NICK_SET_SERVADMIN_SYNTAX,
+ NICK_SET_DISABLED,
+ NICK_SET_UNKNOWN_OPTION,
+ NICK_SET_OPTION_DISABLED,
+ NICK_SET_DISPLAY_INVALID,
+ NICK_SET_DISPLAY_CHANGED,
+ NICK_SET_PASSWORD_FAILED,
+ NICK_SET_PASSWORD_CHANGED,
+ NICK_SET_PASSWORD_CHANGED_TO,
+ NICK_SET_LANGUAGE_SYNTAX,
+ NICK_SET_LANGUAGE_UNKNOWN,
+ NICK_SET_LANGUAGE_CHANGED,
+ NICK_SET_EMAIL_CHANGED,
+ NICK_SET_EMAIL_UNSET,
+ NICK_SET_EMAIL_UNSET_IMPOSSIBLE,
+ NICK_SET_GREET_CHANGED,
+ NICK_SET_GREET_UNSET,
+ NICK_SET_KILL_SYNTAX,
+ NICK_SET_KILL_IMMED_SYNTAX,
+ NICK_SET_KILL_ON,
+ NICK_SET_KILL_QUICK,
+ NICK_SET_KILL_IMMED,
+ NICK_SET_KILL_IMMED_DISABLED,
+ NICK_SET_KILL_OFF,
+ NICK_SET_SECURE_SYNTAX,
+ NICK_SET_SECURE_ON,
+ NICK_SET_SECURE_OFF,
+ NICK_SET_PRIVATE_SYNTAX,
+ NICK_SET_PRIVATE_ON,
+ NICK_SET_PRIVATE_OFF,
+ NICK_SET_HIDE_SYNTAX,
+ NICK_SET_HIDE_EMAIL_ON,
+ NICK_SET_HIDE_EMAIL_OFF,
+ NICK_SET_HIDE_MASK_ON,
+ NICK_SET_HIDE_MASK_OFF,
+ NICK_SET_HIDE_QUIT_ON,
+ NICK_SET_HIDE_QUIT_OFF,
+ NICK_SET_HIDE_STATUS_ON,
+ NICK_SET_HIDE_STATUS_OFF,
+ NICK_SET_MSG_SYNTAX,
+ NICK_SET_MSG_ON,
+ NICK_SET_MSG_OFF,
+ NICK_SET_AUTOOP_SYNTAX,
+ NICK_SET_AUTOOP_ON,
+ NICK_SET_AUTOOP_OFF,
+ NICK_SASET_SYNTAX,
+ NICK_SASET_UNKNOWN_OPTION,
+ NICK_SASET_BAD_NICK,
+ NICK_SASET_DISPLAY_INVALID,
+ NICK_SASET_PASSWORD_FAILED,
+ NICK_SASET_PASSWORD_CHANGED,
+ NICK_SASET_PASSWORD_CHANGED_TO,
+ NICK_SASET_EMAIL_CHANGED,
+ NICK_SASET_EMAIL_UNSET,
+ NICK_SASET_GREET_CHANGED,
+ NICK_SASET_GREET_UNSET,
+ NICK_SASET_KILL_SYNTAX,
+ NICK_SASET_KILL_IMMED_SYNTAX,
+ NICK_SASET_KILL_ON,
+ NICK_SASET_KILL_QUICK,
+ NICK_SASET_KILL_IMMED,
+ NICK_SASET_KILL_OFF,
+ NICK_SASET_SECURE_SYNTAX,
+ NICK_SASET_SECURE_ON,
+ NICK_SASET_SECURE_OFF,
+ NICK_SASET_PRIVATE_SYNTAX,
+ NICK_SASET_PRIVATE_ON,
+ NICK_SASET_PRIVATE_OFF,
+ NICK_SASET_HIDE_SYNTAX,
+ NICK_SASET_HIDE_EMAIL_ON,
+ NICK_SASET_HIDE_EMAIL_OFF,
+ NICK_SASET_HIDE_MASK_ON,
+ NICK_SASET_HIDE_MASK_OFF,
+ NICK_SASET_HIDE_QUIT_ON,
+ NICK_SASET_HIDE_QUIT_OFF,
+ NICK_SASET_HIDE_STATUS_ON,
+ NICK_SASET_HIDE_STATUS_OFF,
+ NICK_SASET_MSG_SYNTAX,
+ NICK_SASET_MSG_ON,
+ NICK_SASET_MSG_OFF,
+ NICK_SASET_NOEXPIRE_SYNTAX,
+ NICK_SASET_NOEXPIRE_ON,
+ NICK_SASET_NOEXPIRE_OFF,
+ NICK_SASET_AUTOOP_SYNTAX,
+ NICK_SASET_AUTOOP_ON,
+ NICK_SASET_AUTOOP_OFF,
+ NICK_SASET_LANGUAGE_SYNTAX,
+ NICK_ACCESS_SYNTAX,
+ NICK_ACCESS_ALREADY_PRESENT,
+ NICK_ACCESS_REACHED_LIMIT,
+ NICK_ACCESS_ADDED,
+ NICK_ACCESS_NOT_FOUND,
+ NICK_ACCESS_DELETED,
+ NICK_ACCESS_LIST,
+ NICK_ACCESS_LIST_X,
+ NICK_ACCESS_LIST_EMPTY,
+ NICK_ACCESS_LIST_X_EMPTY,
+ NICK_STATUS_REPLY,
+ NICK_INFO_SYNTAX,
+ NICK_INFO_REALNAME,
+ NICK_INFO_SERVICES_OPERTYPE,
+ NICK_INFO_ADDRESS,
+ NICK_INFO_ADDRESS_ONLINE,
+ NICK_INFO_ADDRESS_ONLINE_NOHOST,
+ NICK_INFO_TIME_REGGED,
+ NICK_INFO_LAST_SEEN,
+ NICK_INFO_LAST_QUIT,
+ NICK_INFO_URL,
+ NICK_INFO_EMAIL,
+ NICK_INFO_VHOST,
+ NICK_INFO_VHOST2,
+ NICK_INFO_GREET,
+ NICK_INFO_OPTIONS,
+ NICK_INFO_EXPIRE,
+ NICK_INFO_OPT_KILL,
+ NICK_INFO_OPT_SECURE,
+ NICK_INFO_OPT_PRIVATE,
+ NICK_INFO_OPT_MSG,
+ NICK_INFO_OPT_AUTOOP,
+ NICK_INFO_OPT_NONE,
+ NICK_INFO_NO_EXPIRE,
+ NICK_INFO_SUSPENDED,
+ NICK_INFO_SUSPENDED_NO_REASON,
+ NICK_LIST_SYNTAX,
+ NICK_LIST_SERVADMIN_SYNTAX,
+ NICK_LIST_HEADER,
+ NICK_LIST_RESULTS,
+ NICK_ALIST_SYNTAX,
+ NICK_ALIST_HEADER,
+ NICK_ALIST_HEADER_X,
+ NICK_ALIST_XOP_FORMAT,
+ NICK_ALIST_ACCESS_FORMAT,
+ NICK_ALIST_FOOTER,
+ NICK_GLIST_HEADER,
+ NICK_GLIST_HEADER_X,
+ NICK_GLIST_FOOTER,
+ NICK_GLIST_REPLY,
+ NICK_GLIST_REPLY_NOEXPIRE,
+ NICK_RECOVER_SYNTAX,
+ NICK_NO_RECOVER_SELF,
+ NICK_RECOVERED,
+ NICK_RELEASE_SYNTAX,
+ NICK_RELEASE_NOT_HELD,
+ NICK_RELEASED,
+ NICK_GHOST_SYNTAX,
+ NICK_NO_GHOST_SELF,
+ NICK_GHOST_KILLED,
+ NICK_GETPASS_SYNTAX,
+ NICK_GETPASS_UNAVAILABLE,
+ NICK_GETPASS_PASSWORD_IS,
+ NICK_GETEMAIL_SYNTAX,
+ NICK_GETEMAIL_EMAILS_ARE,
+ NICK_GETEMAIL_NOT_USED,
+ NICK_SENDPASS_SYNTAX,
+ NICK_SENDPASS_UNAVAILABLE,
+ NICK_SENDPASS_SUBJECT,
+ NICK_SENDPASS,
+ NICK_SENDPASS_OK,
+ NICK_RESETPASS_SYNTAX,
+ NICK_RESETPASS_SUBJECT,
+ NICK_RESETPASS_MESSAGE,
+ NICK_RESETPASS_COMPLETE,
+ NICK_SUSPEND_SYNTAX,
+ NICK_SUSPEND_SUCCEEDED,
+ NICK_SUSPEND_FAILED,
+ NICK_UNSUSPEND_SYNTAX,
+ NICK_UNSUSPEND_SUCCEEDED,
+ NICK_UNSUSPEND_FAILED,
+ NICK_FORBID_SYNTAX,
+ NICK_FORBID_SYNTAX_REASON,
+ NICK_FORBID_SUCCEEDED,
+ NICK_FORBID_FAILED,
+ NICK_REQUESTED,
+ NICK_REG_RESENT,
+ NICK_REG_UNABLE,
+ NICK_IS_PREREG,
+ NICK_ENTER_REG_CODE,
+ NICK_GETPASS_PASSCODE_IS,
+ NICK_FORCE_REG,
+ NICK_REG_MAIL_SUBJECT,
+ NICK_REG_MAIL,
+ NICK_CONFIRM_NOT_FOUND,
+ NICK_CONFIRM_INVALID,
+ NICK_CONFIRM_EXPIRED,
+ NICK_CONFIRM_SUCCESS,
+ CHAN_LEVEL_AUTOOP,
+ CHAN_LEVEL_AUTOVOICE,
+ CHAN_LEVEL_AUTOHALFOP,
+ CHAN_LEVEL_AUTOPROTECT,
+ CHAN_LEVEL_AUTODEOP,
+ CHAN_LEVEL_NOJOIN,
+ CHAN_LEVEL_INVITE,
+ CHAN_LEVEL_AKICK,
+ CHAN_LEVEL_SET,
+ CHAN_LEVEL_CLEAR,
+ CHAN_LEVEL_UNBAN,
+ CHAN_LEVEL_OPDEOP,
+ CHAN_LEVEL_ACCESS_LIST,
+ CHAN_LEVEL_ACCESS_CHANGE,
+ CHAN_LEVEL_MEMO,
+ CHAN_LEVEL_ASSIGN,
+ CHAN_LEVEL_BADWORDS,
+ CHAN_LEVEL_NOKICK,
+ CHAN_LEVEL_FANTASIA,
+ CHAN_LEVEL_SAY,
+ CHAN_LEVEL_GREET,
+ CHAN_LEVEL_VOICEME,
+ CHAN_LEVEL_VOICE,
+ CHAN_LEVEL_GETKEY,
+ CHAN_LEVEL_OPDEOPME,
+ CHAN_LEVEL_HALFOPME,
+ CHAN_LEVEL_HALFOP,
+ CHAN_LEVEL_PROTECTME,
+ CHAN_LEVEL_PROTECT,
+ CHAN_LEVEL_KICKME,
+ CHAN_LEVEL_KICK,
+ CHAN_LEVEL_SIGNKICK,
+ CHAN_LEVEL_BANME,
+ CHAN_LEVEL_BAN,
+ CHAN_LEVEL_TOPIC,
+ CHAN_LEVEL_INFO,
+ CHAN_LEVEL_AUTOOWNER,
+ CHAN_LEVEL_OWNER,
+ CHAN_LEVEL_OWNERME,
+ CHAN_LEVEL_FOUNDER,
+ CHAN_IS_REGISTERED,
+ CHAN_NOT_ALLOWED_OP,
+ CHAN_MAY_NOT_BE_USED,
+ CHAN_NOT_ALLOWED_TO_JOIN,
+ CHAN_X_INVALID,
+ CHAN_REGISTER_SYNTAX,
+ CHAN_REGISTER_DISABLED,
+ CHAN_REGISTER_NOT_LOCAL,
+ CHAN_MAY_NOT_BE_REGISTERED,
+ CHAN_ALREADY_REGISTERED,
+ CHAN_MUST_BE_CHANOP,
+ CHAN_REACHED_CHANNEL_LIMIT,
+ CHAN_EXCEEDED_CHANNEL_LIMIT,
+ CHAN_REGISTERED,
+ CHAN_REGISTER_NONE_CHANNEL,
+ CHAN_SYMBOL_REQUIRED,
+ CHAN_DROP_SYNTAX,
+ CHAN_DROP_DISABLED,
+ CHAN_DROPPED,
+ CHAN_SASET_SYNTAX,
+ CHAN_SASET_KEEPTOPIC_SYNTAX,
+ CHAN_SASET_OPNOTICE_SYNTAX,
+ CHAN_SASET_PEACE_SYNTAX,
+ CHAN_SASET_PERSIST_SYNTAX,
+ CHAN_SASET_PRIVATE_SYNTAX,
+ CHAN_SASET_RESTRICTED_SYNTAX,
+ CHAN_SASET_SECURE_SYNTAX,
+ CHAN_SASET_SECUREFOUNDER_SYNTAX,
+ CHAN_SASET_SECUREOPS_SYNTAX,
+ CHAN_SASET_SIGNKICK_SYNTAX,
+ CHAN_SASET_TOPICLOCK_SYNTAX,
+ CHAN_SASET_XOP_SYNTAX,
+ CHAN_SET_SYNTAX,
+ CHAN_SET_DISABLED,
+ CHAN_SETTING_CHANGED,
+ CHAN_SETTING_UNSET,
+ CHAN_SET_FOUNDER_TOO_MANY_CHANS,
+ CHAN_FOUNDER_CHANGED,
+ CHAN_SUCCESSOR_CHANGED,
+ CHAN_SUCCESSOR_UNSET,
+ CHAN_SUCCESSOR_IS_FOUNDER,
+ CHAN_DESC_CHANGED,
+ CHAN_EMAIL_CHANGED,
+ CHAN_EMAIL_UNSET,
+ CHAN_ENTRY_MSG_CHANGED,
+ CHAN_ENTRY_MSG_UNSET,
+ CHAN_SET_BANTYPE_INVALID,
+ CHAN_SET_BANTYPE_CHANGED,
+ CHAN_SET_MLOCK_UNKNOWN_CHAR,
+ CHAN_SET_MLOCK_IMPOSSIBLE_CHAR,
+ CHAN_SET_MLOCK_L_REQUIRED,
+ CHAN_SET_MLOCK_K_REQUIRED,
+ CHAN_MLOCK_CHANGED,
+ CHAN_SET_KEEPTOPIC_SYNTAX,
+ CHAN_SET_KEEPTOPIC_ON,
+ CHAN_SET_KEEPTOPIC_OFF,
+ CHAN_SET_TOPICLOCK_SYNTAX,
+ CHAN_SET_TOPICLOCK_ON,
+ CHAN_SET_TOPICLOCK_OFF,
+ CHAN_SET_PEACE_SYNTAX,
+ CHAN_SET_PEACE_ON,
+ CHAN_SET_PEACE_OFF,
+ CHAN_SET_PRIVATE_SYNTAX,
+ CHAN_SET_PRIVATE_ON,
+ CHAN_SET_PRIVATE_OFF,
+ CHAN_SET_SECUREOPS_SYNTAX,
+ CHAN_SET_SECUREOPS_ON,
+ CHAN_SET_SECUREOPS_OFF,
+ CHAN_SET_SECUREFOUNDER_SYNTAX,
+ CHAN_SET_SECUREFOUNDER_ON,
+ CHAN_SET_SECUREFOUNDER_OFF,
+ CHAN_SET_RESTRICTED_SYNTAX,
+ CHAN_SET_RESTRICTED_ON,
+ CHAN_SET_RESTRICTED_OFF,
+ CHAN_SET_SECURE_SYNTAX,
+ CHAN_SET_SECURE_ON,
+ CHAN_SET_SECURE_OFF,
+ CHAN_SET_SIGNKICK_SYNTAX,
+ CHAN_SET_SIGNKICK_ON,
+ CHAN_SET_SIGNKICK_LEVEL,
+ CHAN_SET_SIGNKICK_OFF,
+ CHAN_SET_OPNOTICE_SYNTAX,
+ CHAN_SET_OPNOTICE_ON,
+ CHAN_SET_OPNOTICE_OFF,
+ CHAN_SET_XOP_SYNTAX,
+ CHAN_SET_XOP_ON,
+ CHAN_SET_XOP_OFF,
+ CHAN_SET_PERSIST_SYNTAX,
+ CHAN_SET_PERSIST_ON,
+ CHAN_SET_PERSIST_OFF,
+ CHAN_SET_NOEXPIRE_SYNTAX,
+ CHAN_SET_NOEXPIRE_ON,
+ CHAN_SET_NOEXPIRE_OFF,
+ CHAN_XOP_REACHED_LIMIT,
+ CHAN_XOP_LIST_FORMAT,
+ CHAN_XOP_ACCESS,
+ CHAN_XOP_NOT_AVAILABLE,
+ CHAN_QOP_SYNTAX,
+ CHAN_QOP_DISABLED,
+ CHAN_QOP_NICKS_ONLY,
+ CHAN_QOP_ADDED,
+ CHAN_QOP_MOVED,
+ CHAN_QOP_NO_SUCH_ENTRY,
+ CHAN_QOP_NOT_FOUND,
+ CHAN_QOP_NO_MATCH,
+ CHAN_QOP_DELETED,
+ CHAN_QOP_DELETED_ONE,
+ CHAN_QOP_DELETED_SEVERAL,
+ CHAN_QOP_LIST_EMPTY,
+ CHAN_QOP_LIST_HEADER,
+ CHAN_QOP_CLEAR,
+ CHAN_AOP_SYNTAX,
+ CHAN_AOP_DISABLED,
+ CHAN_AOP_NICKS_ONLY,
+ CHAN_AOP_ADDED,
+ CHAN_AOP_MOVED,
+ CHAN_AOP_NO_SUCH_ENTRY,
+ CHAN_AOP_NOT_FOUND,
+ CHAN_AOP_NO_MATCH,
+ CHAN_AOP_DELETED,
+ CHAN_AOP_DELETED_ONE,
+ CHAN_AOP_DELETED_SEVERAL,
+ CHAN_AOP_LIST_EMPTY,
+ CHAN_AOP_LIST_HEADER,
+ CHAN_AOP_CLEAR,
+ CHAN_HOP_SYNTAX,
+ CHAN_HOP_DISABLED,
+ CHAN_HOP_NICKS_ONLY,
+ CHAN_HOP_ADDED,
+ CHAN_HOP_MOVED,
+ CHAN_HOP_NO_SUCH_ENTRY,
+ CHAN_HOP_NOT_FOUND,
+ CHAN_HOP_NO_MATCH,
+ CHAN_HOP_DELETED,
+ CHAN_HOP_DELETED_ONE,
+ CHAN_HOP_DELETED_SEVERAL,
+ CHAN_HOP_LIST_EMPTY,
+ CHAN_HOP_LIST_HEADER,
+ CHAN_HOP_CLEAR,
+ CHAN_SOP_SYNTAX,
+ CHAN_SOP_DISABLED,
+ CHAN_SOP_NICKS_ONLY,
+ CHAN_SOP_ADDED,
+ CHAN_SOP_MOVED,
+ CHAN_SOP_NO_SUCH_ENTRY,
+ CHAN_SOP_NOT_FOUND,
+ CHAN_SOP_NO_MATCH,
+ CHAN_SOP_DELETED,
+ CHAN_SOP_DELETED_ONE,
+ CHAN_SOP_DELETED_SEVERAL,
+ CHAN_SOP_LIST_EMPTY,
+ CHAN_SOP_LIST_HEADER,
+ CHAN_SOP_CLEAR,
+ CHAN_VOP_SYNTAX,
+ CHAN_VOP_DISABLED,
+ CHAN_VOP_NICKS_ONLY,
+ CHAN_VOP_ADDED,
+ CHAN_VOP_MOVED,
+ CHAN_VOP_NO_SUCH_ENTRY,
+ CHAN_VOP_NOT_FOUND,
+ CHAN_VOP_NO_MATCH,
+ CHAN_VOP_DELETED,
+ CHAN_VOP_DELETED_ONE,
+ CHAN_VOP_DELETED_SEVERAL,
+ CHAN_VOP_LIST_EMPTY,
+ CHAN_VOP_LIST_HEADER,
+ CHAN_VOP_CLEAR,
+ CHAN_ACCESS_SYNTAX,
+ CHAN_ACCESS_XOP,
+ CHAN_ACCESS_XOP_HOP,
+ CHAN_ACCESS_DISABLED,
+ CHAN_ACCESS_LEVEL_NONZERO,
+ CHAN_ACCESS_LEVEL_RANGE,
+ CHAN_ACCESS_NICKS_ONLY,
+ CHAN_ACCESS_REACHED_LIMIT,
+ CHAN_ACCESS_LEVEL_UNCHANGED,
+ CHAN_ACCESS_LEVEL_CHANGED,
+ CHAN_ACCESS_ADDED,
+ CHAN_ACCESS_NO_SUCH_ENTRY,
+ CHAN_ACCESS_NOT_FOUND,
+ CHAN_ACCESS_NO_MATCH,
+ CHAN_ACCESS_DELETED,
+ CHAN_ACCESS_DELETED_ONE,
+ CHAN_ACCESS_DELETED_SEVERAL,
+ CHAN_ACCESS_LIST_EMPTY,
+ CHAN_ACCESS_LIST_HEADER,
+ CHAN_ACCESS_LIST_FOOTER,
+ CHAN_ACCESS_LIST_XOP_FORMAT,
+ CHAN_ACCESS_LIST_AXS_FORMAT,
+ CHAN_ACCESS_CLEAR,
+ CHAN_ACCESS_VIEW_XOP_FORMAT,
+ CHAN_ACCESS_VIEW_AXS_FORMAT,
+ CHAN_AKICK_SYNTAX,
+ CHAN_AKICK_DISABLED,
+ CHAN_AKICK_ALREADY_EXISTS,
+ CHAN_AKICK_REACHED_LIMIT,
+ CHAN_AKICK_ADDED,
+ CHAN_AKICK_NO_SUCH_ENTRY,
+ CHAN_AKICK_NOT_FOUND,
+ CHAN_AKICK_NO_MATCH,
+ CHAN_AKICK_STUCK,
+ CHAN_AKICK_UNSTUCK,
+ CHAN_AKICK_DELETED,
+ CHAN_AKICK_DELETED_ONE,
+ CHAN_AKICK_DELETED_SEVERAL,
+ CHAN_AKICK_LIST_EMPTY,
+ CHAN_AKICK_LIST_HEADER,
+ CHAN_AKICK_LIST_FORMAT,
+ CHAN_AKICK_VIEW_FORMAT,
+ CHAN_AKICK_VIEW_FORMAT_STUCK,
+ CHAN_AKICK_LAST_USED,
+ CHAN_AKICK_ENFORCE_DONE,
+ CHAN_AKICK_CLEAR,
+ CHAN_LEVELS_SYNTAX,
+ CHAN_LEVELS_XOP,
+ CHAN_LEVELS_RANGE,
+ CHAN_LEVELS_CHANGED,
+ CHAN_LEVELS_CHANGED_FOUNDER,
+ CHAN_LEVELS_UNKNOWN,
+ CHAN_LEVELS_DISABLED,
+ CHAN_LEVELS_LIST_HEADER,
+ CHAN_LEVELS_LIST_DISABLED,
+ CHAN_LEVELS_LIST_FOUNDER,
+ CHAN_LEVELS_LIST_NORMAL,
+ CHAN_LEVELS_RESET,
+ CHAN_STATUS_SYNTAX,
+ CHAN_STATUS_NOT_REGGED,
+ CHAN_STATUS_FORBIDDEN,
+ CHAN_STATUS_NOTONLINE,
+ CHAN_STATUS_INFO,
+ CHAN_INFO_SYNTAX,
+ CHAN_INFO_HEADER,
+ CHAN_INFO_FOUNDER,
+ CHAN_INFO_NO_FOUNDER,
+ CHAN_INFO_SUCCESSOR,
+ CHAN_INFO_NO_SUCCESSOR,
+ CHAN_INFO_DESCRIPTION,
+ CHAN_INFO_ENTRYMSG,
+ CHAN_INFO_TIME_REGGED,
+ CHAN_INFO_LAST_USED,
+ CHAN_INFO_LAST_TOPIC,
+ CHAN_INFO_TOPIC_SET_BY,
+ CHAN_INFO_URL,
+ CHAN_INFO_EMAIL,
+ CHAN_INFO_BANTYPE,
+ CHAN_INFO_OPTIONS,
+ CHAN_INFO_OPT_KEEPTOPIC,
+ CHAN_INFO_OPT_OPNOTICE,
+ CHAN_INFO_OPT_PEACE,
+ CHAN_INFO_OPT_RESTRICTED,
+ CHAN_INFO_OPT_SECURE,
+ CHAN_INFO_OPT_SECUREOPS,
+ CHAN_INFO_OPT_SECUREFOUNDER,
+ CHAN_INFO_OPT_SIGNKICK,
+ CHAN_INFO_OPT_TOPICLOCK,
+ CHAN_INFO_OPT_XOP,
+ CHAN_INFO_OPT_PERSIST,
+ CHAN_INFO_MODE_LOCK,
+ CHAN_INFO_EXPIRE,
+ CHAN_INFO_NO_EXPIRE,
+ CHAN_LIST_SERVADMIN_SYNTAX,
+ CHAN_LIST_FORMAT,
+ CHAN_LIST_END,
+ CHAN_INVITE_SYNTAX,
+ CHAN_INVITE_ALREADY_IN,
+ CHAN_INVITE_SUCCESS,
+ CHAN_INVITE_OTHER_SUCCESS,
+ CHAN_UNBAN_SYNTAX,
+ CHAN_UNBANNED,
+ CHAN_UNBANNED_OTHER,
+ CHAN_TOPIC_SYNTAX,
+ CHAN_CLEAR_SYNTAX,
+ CHAN_CLEARED_BANS,
+ CHAN_CLEARED_EXCEPTS,
+ CHAN_CLEARED_MODES,
+ CHAN_CLEARED_OPS,
+ CHAN_CLEARED_HOPS,
+ CHAN_CLEARED_VOICES,
+ CHAN_CLEARED_USERS,
+ CHAN_CLEARED_INVITES,
+ CHAN_GETKEY_SYNTAX,
+ CHAN_GETKEY_NOKEY,
+ CHAN_GETKEY_KEY,
+ CHAN_FORBID_SYNTAX,
+ CHAN_FORBID_SYNTAX_REASON,
+ CHAN_FORBID_SUCCEEDED,
+ CHAN_FORBID_FAILED,
+ CHAN_FORBID_REASON,
+ CHAN_SUSPEND_SYNTAX,
+ CHAN_SUSPEND_SYNTAX_REASON,
+ CHAN_SUSPEND_SUCCEEDED,
+ CHAN_SUSPEND_FAILED,
+ CHAN_SUSPEND_REASON,
+ CHAN_UNSUSPEND_SYNTAX,
+ CHAN_UNSUSPEND_ERROR,
+ CHAN_UNSUSPEND_SUCCEEDED,
+ CHAN_UNSUSPEND_FAILED,
+ CHAN_EXCEPTED,
+ CHAN_OP_SYNTAX,
+ CHAN_HALFOP_SYNTAX,
+ CHAN_VOICE_SYNTAX,
+ CHAN_PROTECT_SYNTAX,
+ CHAN_OWNER_SYNTAX,
+ CHAN_DEOP_SYNTAX,
+ CHAN_DEHALFOP_SYNTAX,
+ CHAN_DEVOICE_SYNTAX,
+ CHAN_DEPROTECT_SYNTAX,
+ CHAN_DEOWNER_SYNTAX,
+ CHAN_KICK_SYNTAX,
+ CHAN_BAN_SYNTAX,
+ MEMO_HAVE_NEW_MEMO,
+ MEMO_HAVE_NEW_MEMOS,
+ MEMO_TYPE_READ_LAST,
+ MEMO_TYPE_READ_NUM,
+ MEMO_TYPE_LIST_NEW,
+ MEMO_AT_LIMIT,
+ MEMO_OVER_LIMIT,
+ MEMO_X_MANY_NOTICE,
+ MEMO_X_ONE_NOTICE,
+ MEMO_NEW_X_MEMO_ARRIVED,
+ MEMO_NEW_MEMO_ARRIVED,
+ MEMO_HAVE_NO_MEMOS,
+ MEMO_X_HAS_NO_MEMOS,
+ MEMO_DOES_NOT_EXIST,
+ MEMO_LIST_NOT_FOUND,
+ MEMO_SEND_SYNTAX,
+ MEMO_SEND_DISABLED,
+ MEMO_SEND_PLEASE_WAIT,
+ MEMO_X_GETS_NO_MEMOS,
+ MEMO_X_HAS_TOO_MANY_MEMOS,
+ MEMO_SENT,
+ MEMO_MASS_SENT,
+ MEMO_STAFF_SYNTAX,
+ MEMO_CANCEL_SYNTAX,
+ MEMO_CANCEL_DISABLED,
+ MEMO_CANCEL_NONE,
+ MEMO_CANCELLED,
+ MEMO_LIST_SYNTAX,
+ MEMO_HAVE_NO_NEW_MEMOS,
+ MEMO_X_HAS_NO_NEW_MEMOS,
+ MEMO_LIST_MEMOS,
+ MEMO_LIST_NEW_MEMOS,
+ MEMO_LIST_CHAN_MEMOS,
+ MEMO_LIST_CHAN_NEW_MEMOS,
+ MEMO_LIST_HEADER,
+ MEMO_LIST_FORMAT,
+ MEMO_READ_SYNTAX,
+ MEMO_HEADER,
+ MEMO_CHAN_HEADER,
+ MEMO_TEXT,
+ MEMO_DEL_SYNTAX,
+ MEMO_DELETED_NONE,
+ MEMO_DELETED_ONE,
+ MEMO_DELETED_SEVERAL,
+ MEMO_DELETED_ALL,
+ MEMO_CHAN_DELETED_ALL,
+ MEMO_SET_DISABLED,
+ MEMO_SET_NOTIFY_SYNTAX,
+ MEMO_SET_NOTIFY_ON,
+ MEMO_SET_NOTIFY_LOGON,
+ MEMO_SET_NOTIFY_NEW,
+ MEMO_SET_NOTIFY_OFF,
+ MEMO_SET_NOTIFY_MAIL,
+ MEMO_SET_NOTIFY_NOMAIL,
+ MEMO_SET_NOTIFY_INVALIDMAIL,
+ MEMO_SET_LIMIT_SYNTAX,
+ MEMO_SET_LIMIT_SERVADMIN_SYNTAX,
+ MEMO_SET_YOUR_LIMIT_FORBIDDEN,
+ MEMO_SET_LIMIT_FORBIDDEN,
+ MEMO_SET_YOUR_LIMIT_TOO_HIGH,
+ MEMO_SET_LIMIT_TOO_HIGH,
+ MEMO_SET_LIMIT_OVERFLOW,
+ MEMO_SET_YOUR_LIMIT,
+ MEMO_SET_YOUR_LIMIT_ZERO,
+ MEMO_UNSET_YOUR_LIMIT,
+ MEMO_SET_LIMIT,
+ MEMO_SET_LIMIT_ZERO,
+ MEMO_UNSET_LIMIT,
+ MEMO_INFO_SYNTAX,
+ MEMO_INFO_SERVADMIN_SYNTAX,
+ MEMO_INFO_NO_MEMOS,
+ MEMO_INFO_MEMO,
+ MEMO_INFO_MEMO_UNREAD,
+ MEMO_INFO_MEMOS,
+ MEMO_INFO_MEMOS_ONE_UNREAD,
+ MEMO_INFO_MEMOS_SOME_UNREAD,
+ MEMO_INFO_MEMOS_ALL_UNREAD,
+ MEMO_INFO_LIMIT,
+ MEMO_INFO_HARD_LIMIT,
+ MEMO_INFO_LIMIT_ZERO,
+ MEMO_INFO_HARD_LIMIT_ZERO,
+ MEMO_INFO_NO_LIMIT,
+ MEMO_INFO_NOTIFY_OFF,
+ MEMO_INFO_NOTIFY_ON,
+ MEMO_INFO_NOTIFY_RECEIVE,
+ MEMO_INFO_NOTIFY_SIGNON,
+ MEMO_INFO_X_NO_MEMOS,
+ MEMO_INFO_X_MEMO,
+ MEMO_INFO_X_MEMO_UNREAD,
+ MEMO_INFO_X_MEMOS,
+ MEMO_INFO_X_MEMOS_ONE_UNREAD,
+ MEMO_INFO_X_MEMOS_SOME_UNREAD,
+ MEMO_INFO_X_MEMOS_ALL_UNREAD,
+ MEMO_INFO_X_LIMIT,
+ MEMO_INFO_X_HARD_LIMIT,
+ MEMO_INFO_X_NO_LIMIT,
+ MEMO_INFO_X_NOTIFY_OFF,
+ MEMO_INFO_X_NOTIFY_ON,
+ MEMO_INFO_X_NOTIFY_RECEIVE,
+ MEMO_INFO_X_NOTIFY_SIGNON,
+ MEMO_MAIL_SUBJECT,
+ NICK_MAIL_TEXT,
+ MEMO_RSEND_PLEASE_WAIT,
+ MEMO_RSEND_DISABLED,
+ MEMO_RSEND_SYNTAX,
+ MEMO_RSEND_NICK_MEMO_TEXT,
+ MEMO_RSEND_CHAN_MEMO_TEXT,
+ MEMO_RSEND_USER_NOTIFICATION,
+ MEMO_CHECK_SYNTAX,
+ MEMO_CHECK_NOT_READ,
+ MEMO_CHECK_READ,
+ MEMO_CHECK_NO_MEMO,
+ MEMO_NO_RSEND_SELF,
+ BOT_DOES_NOT_EXIST,
+ BOT_NOT_ASSIGNED,
+ BOT_NOT_ON_CHANNEL,
+ BOT_REASON_BADWORD,
+ BOT_REASON_BADWORD_GENTLE,
+ BOT_REASON_BOLD,
+ BOT_REASON_CAPS,
+ BOT_REASON_COLOR,
+ BOT_REASON_FLOOD,
+ BOT_REASON_REPEAT,
+ BOT_REASON_REVERSE,
+ BOT_REASON_UNDERLINE,
+ BOT_REASON_ITALIC,
+ BOT_SEEN_BOT,
+ BOT_SEEN_YOU,
+ BOT_SEEN_ON_CHANNEL,
+ BOT_SEEN_ON_CHANNEL_AS,
+ BOT_SEEN_ON,
+ BOT_SEEN_NEVER,
+ BOT_SEEN_UNKNOWN,
+ BOT_BOT_SYNTAX,
+ BOT_BOT_ALREADY_EXISTS,
+ BOT_BOT_CREATION_FAILED,
+ BOT_BOT_READONLY,
+ BOT_BOT_ADDED,
+ BOT_BOT_ANY_CHANGES,
+ BOT_BOT_CHANGED,
+ BOT_BOT_DELETED,
+ BOT_BOTLIST_HEADER,
+ BOT_BOTLIST_PRIVATE_HEADER,
+ BOT_BOTLIST_FOOTER,
+ BOT_BOTLIST_EMPTY,
+ BOT_ASSIGN_SYNTAX,
+ BOT_ASSIGN_READONLY,
+ BOT_ASSIGN_ALREADY,
+ BOT_ASSIGN_ASSIGNED,
+ BOT_UNASSIGN_SYNTAX,
+ BOT_UNASSIGN_UNASSIGNED,
+ BOT_UNASSIGN_PERSISTANT_CHAN,
+ BOT_INFO_SYNTAX,
+ BOT_INFO_NOT_FOUND,
+ BOT_INFO_BOT_HEADER,
+ BOT_INFO_BOT_MASK,
+ BOT_INFO_BOT_REALNAME,
+ BOT_INFO_BOT_CREATED,
+ BOT_INFO_BOT_USAGE,
+ BOT_INFO_BOT_OPTIONS,
+ BOT_INFO_CHAN_BOT,
+ BOT_INFO_CHAN_BOT_NONE,
+ BOT_INFO_CHAN_KICK_BADWORDS,
+ BOT_INFO_CHAN_KICK_BADWORDS_BAN,
+ BOT_INFO_CHAN_KICK_BOLDS,
+ BOT_INFO_CHAN_KICK_BOLDS_BAN,
+ BOT_INFO_CHAN_KICK_CAPS_ON,
+ BOT_INFO_CHAN_KICK_CAPS_BAN,
+ BOT_INFO_CHAN_KICK_CAPS_OFF,
+ BOT_INFO_CHAN_KICK_COLORS,
+ BOT_INFO_CHAN_KICK_COLORS_BAN,
+ BOT_INFO_CHAN_KICK_FLOOD_ON,
+ BOT_INFO_CHAN_KICK_FLOOD_BAN,
+ BOT_INFO_CHAN_KICK_FLOOD_OFF,
+ BOT_INFO_CHAN_KICK_REPEAT_ON,
+ BOT_INFO_CHAN_KICK_REPEAT_BAN,
+ BOT_INFO_CHAN_KICK_REPEAT_OFF,
+ BOT_INFO_CHAN_KICK_REVERSES,
+ BOT_INFO_CHAN_KICK_REVERSES_BAN,
+ BOT_INFO_CHAN_KICK_UNDERLINES,
+ BOT_INFO_CHAN_KICK_UNDERLINES_BAN,
+ BOT_INFO_CHAN_KICK_ITALICS,
+ BOT_INFO_CHAN_KICK_ITALICS_BAN,
+ BOT_INFO_ACTIVE,
+ BOT_INFO_INACTIVE,
+ BOT_INFO_CHAN_OPTIONS,
+ BOT_INFO_OPT_DONTKICKOPS,
+ BOT_INFO_OPT_DONTKICKVOICES,
+ BOT_INFO_OPT_FANTASY,
+ BOT_INFO_OPT_GREET,
+ BOT_INFO_OPT_NOBOT,
+ BOT_INFO_OPT_SYMBIOSIS,
+ BOT_INFO_OPT_NONE,
+ BOT_SET_SYNTAX,
+ BOT_SET_DISABLED,
+ BOT_SET_UNKNOWN,
+ BOT_SET_DONTKICKOPS_SYNTAX,
+ BOT_SET_DONTKICKOPS_ON,
+ BOT_SET_DONTKICKOPS_OFF,
+ BOT_SET_DONTKICKVOICES_SYNTAX,
+ BOT_SET_DONTKICKVOICES_ON,
+ BOT_SET_DONTKICKVOICES_OFF,
+ BOT_SET_FANTASY_SYNTAX,
+ BOT_SET_FANTASY_ON,
+ BOT_SET_FANTASY_OFF,
+ BOT_SET_GREET_SYNTAX,
+ BOT_SET_GREET_ON,
+ BOT_SET_GREET_OFF,
+ BOT_SET_NOBOT_SYNTAX,
+ BOT_SET_NOBOT_ON,
+ BOT_SET_NOBOT_OFF,
+ BOT_SET_PRIVATE_SYNTAX,
+ BOT_SET_PRIVATE_ON,
+ BOT_SET_PRIVATE_OFF,
+ BOT_SET_SYMBIOSIS_SYNTAX,
+ BOT_SET_SYMBIOSIS_ON,
+ BOT_SET_SYMBIOSIS_OFF,
+ BOT_KICK_SYNTAX,
+ BOT_KICK_DISABLED,
+ BOT_KICK_UNKNOWN,
+ BOT_KICK_BAD_TTB,
+ BOT_KICK_BADWORDS_ON,
+ BOT_KICK_BADWORDS_ON_BAN,
+ BOT_KICK_BADWORDS_OFF,
+ BOT_KICK_BOLDS_ON,
+ BOT_KICK_BOLDS_ON_BAN,
+ BOT_KICK_BOLDS_OFF,
+ BOT_KICK_CAPS_ON,
+ BOT_KICK_CAPS_ON_BAN,
+ BOT_KICK_CAPS_OFF,
+ BOT_KICK_COLORS_ON,
+ BOT_KICK_COLORS_ON_BAN,
+ BOT_KICK_COLORS_OFF,
+ BOT_KICK_FLOOD_ON,
+ BOT_KICK_FLOOD_ON_BAN,
+ BOT_KICK_FLOOD_OFF,
+ BOT_KICK_REPEAT_ON,
+ BOT_KICK_REPEAT_ON_BAN,
+ BOT_KICK_REPEAT_OFF,
+ BOT_KICK_REVERSES_ON,
+ BOT_KICK_REVERSES_ON_BAN,
+ BOT_KICK_REVERSES_OFF,
+ BOT_KICK_UNDERLINES_ON,
+ BOT_KICK_UNDERLINES_ON_BAN,
+ BOT_KICK_UNDERLINES_OFF,
+ BOT_KICK_ITALICS_ON,
+ BOT_KICK_ITALICS_ON_BAN,
+ BOT_KICK_ITALICS_OFF,
+ BOT_BADWORDS_SYNTAX,
+ BOT_BADWORDS_DISABLED,
+ BOT_BADWORDS_REACHED_LIMIT,
+ BOT_BADWORDS_ALREADY_EXISTS,
+ BOT_BADWORDS_ADDED,
+ BOT_BADWORDS_NO_SUCH_ENTRY,
+ BOT_BADWORDS_NOT_FOUND,
+ BOT_BADWORDS_NO_MATCH,
+ BOT_BADWORDS_DELETED,
+ BOT_BADWORDS_DELETED_ONE,
+ BOT_BADWORDS_DELETED_SEVERAL,
+ BOT_BADWORDS_LIST_EMPTY,
+ BOT_BADWORDS_LIST_HEADER,
+ BOT_BADWORDS_LIST_FORMAT,
+ BOT_BADWORDS_CLEAR,
+ BOT_SAY_SYNTAX,
+ BOT_ACT_SYNTAX,
+ BOT_EXCEPT,
+ BOT_BAD_NICK,
+ BOT_BAD_HOST,
+ BOT_BAD_IDENT,
+ BOT_LONG_IDENT,
+ BOT_LONG_HOST,
+ OPER_BOUNCY_MODES,
+ OPER_BOUNCY_MODES_U_LINE,
+ OPER_GLOBAL_SYNTAX,
+ OPER_STATS_UNKNOWN_OPTION,
+ OPER_STATS_CURRENT_USERS,
+ OPER_STATS_MAX_USERS,
+ OPER_STATS_UPTIME_DHMS,
+ OPER_STATS_UPTIME_1DHMS,
+ OPER_STATS_UPTIME_HMS,
+ OPER_STATS_UPTIME_H1MS,
+ OPER_STATS_UPTIME_1HMS,
+ OPER_STATS_UPTIME_1H1MS,
+ OPER_STATS_UPTIME_MS,
+ OPER_STATS_UPTIME_M1S,
+ OPER_STATS_UPTIME_1MS,
+ OPER_STATS_UPTIME_1M1S,
+ OPER_STATS_BYTES_READ,
+ OPER_STATS_BYTES_WRITTEN,
+ OPER_STATS_USER_MEM,
+ OPER_STATS_CHANNEL_MEM,
+ OPER_STATS_GROUPS_MEM,
+ OPER_STATS_ALIASES_MEM,
+ OPER_STATS_CHANSERV_MEM,
+ OPER_STATS_BOTSERV_MEM,
+ OPER_STATS_HOSTSERV_MEM,
+ OPER_STATS_OPERSERV_MEM,
+ OPER_STATS_SESSIONS_MEM,
+ OPER_STATS_AKILL_COUNT,
+ OPER_STATS_AKILL_EXPIRE_DAYS,
+ OPER_STATS_AKILL_EXPIRE_DAY,
+ OPER_STATS_AKILL_EXPIRE_HOURS,
+ OPER_STATS_AKILL_EXPIRE_HOUR,
+ OPER_STATS_AKILL_EXPIRE_MINS,
+ OPER_STATS_AKILL_EXPIRE_MIN,
+ OPER_STATS_AKILL_EXPIRE_NONE,
+ OPER_STATS_SNLINE_COUNT,
+ OPER_STATS_SNLINE_EXPIRE_DAYS,
+ OPER_STATS_SNLINE_EXPIRE_DAY,
+ OPER_STATS_SNLINE_EXPIRE_HOURS,
+ OPER_STATS_SNLINE_EXPIRE_HOUR,
+ OPER_STATS_SNLINE_EXPIRE_MINS,
+ OPER_STATS_SNLINE_EXPIRE_MIN,
+ OPER_STATS_SNLINE_EXPIRE_NONE,
+ OPER_STATS_SQLINE_COUNT,
+ OPER_STATS_SQLINE_EXPIRE_DAYS,
+ OPER_STATS_SQLINE_EXPIRE_DAY,
+ OPER_STATS_SQLINE_EXPIRE_HOURS,
+ OPER_STATS_SQLINE_EXPIRE_HOUR,
+ OPER_STATS_SQLINE_EXPIRE_MINS,
+ OPER_STATS_SQLINE_EXPIRE_MIN,
+ OPER_STATS_SQLINE_EXPIRE_NONE,
+ OPER_STATS_SZLINE_COUNT,
+ OPER_STATS_SZLINE_EXPIRE_DAYS,
+ OPER_STATS_SZLINE_EXPIRE_DAY,
+ OPER_STATS_SZLINE_EXPIRE_HOURS,
+ OPER_STATS_SZLINE_EXPIRE_HOUR,
+ OPER_STATS_SZLINE_EXPIRE_MINS,
+ OPER_STATS_SZLINE_EXPIRE_MIN,
+ OPER_STATS_SZLINE_EXPIRE_NONE,
+ OPER_STATS_RESET,
+ OPER_STATS_UPLINK_SERVER,
+ OPER_STATS_UPLINK_CAPAB,
+ OPER_STATS_UPLINK_SERVER_COUNT,
+ OPER_MODE_SYNTAX,
+ OPER_UMODE_SYNTAX,
+ OPER_UMODE_SUCCESS,
+ OPER_UMODE_CHANGED,
+ OPER_OLINE_SYNTAX,
+ OPER_OLINE_SUCCESS,
+ OPER_OLINE_IRCOP,
+ OPER_CLEARMODES_SYNTAX,
+ OPER_CLEARMODES_DONE,
+ OPER_CLEARMODES_ALL_DONE,
+ OPER_KICK_SYNTAX,
+ OPER_SVSNICK_SYNTAX,
+ OPER_SVSNICK_NEWNICK,
+ OPER_AKILL_SYNTAX,
+ OPER_AKILL_EXISTS,
+ OPER_ALREADY_COVERED,
+ OPER_AKILL_REACHED_LIMIT,
+ OPER_AKILL_NO_NICK,
+ OPER_AKILL_ADDED,
+ OPER_EXPIRY_CHANGED,
+ OPER_AKILL_NOT_FOUND,
+ OPER_AKILL_NO_MATCH,
+ OPER_AKILL_DELETED,
+ OPER_AKILL_DELETED_ONE,
+ OPER_AKILL_DELETED_SEVERAL,
+ OPER_AKILL_LIST_EMPTY,
+ OPER_AKILL_LIST_HEADER,
+ OPER_LIST_FORMAT,
+ OPER_AKILL_VIEW_HEADER,
+ OPER_VIEW_FORMAT,
+ OPER_AKILL_CLEAR,
+ OPER_CHANKILL_SYNTAX,
+ OPER_SNLINE_SYNTAX,
+ OPER_SNLINE_UNSUPPORTED,
+ OPER_SNLINE_EXISTS,
+ OPER_SNLINE_REACHED_LIMIT,
+ OPER_SNLINE_ADDED,
+ OPER_SNLINE_NOT_FOUND,
+ OPER_SNLINE_NO_MATCH,
+ OPER_SNLINE_DELETED,
+ OPER_SNLINE_DELETED_ONE,
+ OPER_SNLINE_DELETED_SEVERAL,
+ OPER_SNLINE_LIST_EMPTY,
+ OPER_SNLINE_LIST_HEADER,
+ OPER_SNLINE_VIEW_HEADER,
+ OPER_SNLINE_CLEAR,
+ OPER_SQLINE_SYNTAX,
+ OPER_SQLINE_CHANNELS_UNSUPPORTED,
+ OPER_SQLINE_EXISTS,
+ OPER_SQLINE_REACHED_LIMIT,
+ OPER_SQLINE_ADDED,
+ OPER_SQLINE_NOT_FOUND,
+ OPER_SQLINE_NO_MATCH,
+ OPER_SQLINE_DELETED,
+ OPER_SQLINE_DELETED_ONE,
+ OPER_SQLINE_DELETED_SEVERAL,
+ OPER_SQLINE_LIST_EMPTY,
+ OPER_SQLINE_LIST_HEADER,
+ OPER_SQLINE_VIEW_HEADER,
+ OPER_SQLINE_CLEAR,
+ OPER_SZLINE_SYNTAX,
+ OPER_SZLINE_UNSUPPORTED,
+ OPER_SZLINE_EXISTS,
+ OPER_SZLINE_REACHED_LIMIT,
+ OPER_SZLINE_ONLY_IPS,
+ OPER_SZLINE_ADDED,
+ OPER_SZLINE_NOT_FOUND,
+ OPER_SZLINE_NO_MATCH,
+ OPER_SZLINE_DELETED,
+ OPER_SZLINE_DELETED_ONE,
+ OPER_SZLINE_DELETED_SEVERAL,
+ OPER_SZLINE_LIST_EMPTY,
+ OPER_SZLINE_LIST_HEADER,
+ OPER_SZLINE_VIEW_HEADER,
+ OPER_SZLINE_CLEAR,
+ OPER_SET_SYNTAX,
+ OPER_SET_IGNORE_ON,
+ OPER_SET_IGNORE_OFF,
+ OPER_SET_IGNORE_ERROR,
+ OPER_SET_READONLY_ON,
+ OPER_SET_READONLY_OFF,
+ OPER_SET_READONLY_ERROR,
+ OPER_SET_LOGCHAN_ON,
+ OPER_SET_LOGCHAN_OFF,
+ OPER_SET_LOGCHAN_ERROR,
+ OPER_SET_DEBUG_ON,
+ OPER_SET_DEBUG_OFF,
+ OPER_SET_DEBUG_LEVEL,
+ OPER_SET_DEBUG_ERROR,
+ OPER_SET_NOEXPIRE_ON,
+ OPER_SET_NOEXPIRE_OFF,
+ OPER_SET_NOEXPIRE_ERROR,
+ OPER_SET_UNKNOWN_OPTION,
+ OPER_SET_LIST_OPTION_ON,
+ OPER_SET_LIST_OPTION_OFF,
+ OPER_NOOP_SYNTAX,
+ OPER_NOOP_SET,
+ OPER_NOOP_REVOKE,
+ OPER_JUPE_SYNTAX,
+ OPER_JUPE_HOST_ERROR,
+ OPER_JUPE_INVALID_SERVER,
+ OPER_UPDATING,
+ OPER_RELOAD,
+ OPER_CANNOT_RESTART,
+ OPER_IGNORE_SYNTAX,
+ OPER_IGNORE_VALID_TIME,
+ OPER_IGNORE_TIME_DONE,
+ OPER_IGNORE_PERM_DONE,
+ OPER_IGNORE_DEL_DONE,
+ OPER_IGNORE_LIST,
+ OPER_IGNORE_LIST_NOMATCH,
+ OPER_IGNORE_LIST_EMPTY,
+ OPER_IGNORE_LIST_CLEARED,
+ OPER_KILLCLONES_SYNTAX,
+ OPER_KILLCLONES_UNKNOWN_NICK,
+ OPER_CHANLIST_HEADER,
+ OPER_CHANLIST_HEADER_USER,
+ OPER_CHANLIST_RECORD,
+ OPER_CHANLIST_END,
+ OPER_USERLIST_HEADER,
+ OPER_USERLIST_HEADER_CHAN,
+ OPER_USERLIST_RECORD,
+ OPER_USERLIST_END,
+ OPER_SUPER_ADMIN_ON,
+ OPER_SUPER_ADMIN_OFF,
+ OPER_SUPER_ADMIN_SYNTAX,
+ OPER_SUPER_ADMIN_WALL_ON,
+ OPER_SUPER_ADMIN_WALL_OFF,
+ OPER_SUPER_ADMIN_ONLY,
+ OPER_STAFF_LIST_HEADER,
+ OPER_STAFF_FORMAT,
+ OPER_STAFF_AFORMAT,
+ OPER_DEFCON_SYNTAX,
+ OPER_DEFCON_DENIED,
+ OPER_DEFCON_CHANGED,
+ OPER_DEFCON_WALL,
+ DEFCON_GLOBAL,
+ OPER_MODULE_LOADED,
+ OPER_MODULE_UNLOADED,
+ OPER_MODULE_LOAD_FAIL,
+ OPER_MODULE_REMOVE_FAIL,
+ OPER_MODULE_NO_UNLOAD,
+ OPER_MODULE_ALREADY_LOADED,
+ OPER_MODULE_ISNT_LOADED,
+ OPER_MODULE_LOAD_SYNTAX,
+ OPER_MODULE_UNLOAD_SYNTAX,
+ OPER_MODULE_LIST_HEADER,
+ OPER_MODULE_LIST,
+ OPER_MODULE_LIST_FOOTER,
+ OPER_MODULE_INFO_LIST,
+ OPER_MODULE_CMD_LIST,
+ OPER_MODULE_MSG_LIST,
+ OPER_MODULE_NO_LIST,
+ OPER_MODULE_NO_INFO,
+ OPER_MODULE_INFO_SYNTAX,
+ MODULE_HELP_HEADER,
+ OPER_EXCEPTION_SYNTAX,
+ OPER_EXCEPTION_ADD_SYNTAX,
+ OPER_EXCEPTION_DEL_SYNTAX,
+ OPER_EXCEPTION_MOVE_SYNTAX,
+ OPER_EXCEPTION_DISABLED,
+ OPER_EXCEPTION_ALREADY_PRESENT,
+ OPER_EXCEPTION_TOO_MANY,
+ OPER_EXCEPTION_ADDED,
+ OPER_EXCEPTION_MOVED,
+ OPER_EXCEPTION_NO_SUCH_ENTRY,
+ OPER_EXCEPTION_NOT_FOUND,
+ OPER_EXCEPTION_NO_MATCH,
+ OPER_EXCEPTION_DELETED,
+ OPER_EXCEPTION_DELETED_ONE,
+ OPER_EXCEPTION_DELETED_SEVERAL,
+ OPER_EXCEPTION_LIST_HEADER,
+ OPER_EXCEPTION_LIST_FORMAT,
+ OPER_EXCEPTION_LIST_COLHEAD,
+ OPER_EXCEPTION_VIEW_FORMAT,
+ OPER_EXCEPTION_INVALID_LIMIT,
+ OPER_EXCEPTION_INVALID_HOSTMASK,
+ OPER_EXCEPTION_EXISTS,
+ OPER_EXCEPTION_CHANGED,
+ OPER_SESSION_SYNTAX,
+ OPER_SESSION_LIST_SYNTAX,
+ OPER_SESSION_VIEW_SYNTAX,
+ OPER_SESSION_INVALID_THRESHOLD,
+ OPER_SESSION_NOT_FOUND,
+ OPER_SESSION_LIST_HEADER,
+ OPER_SESSION_LIST_COLHEAD,
+ OPER_SESSION_LIST_FORMAT,
+ OPER_SESSION_VIEW_FORMAT,
+ OPER_HELP_EXCEPTION,
+ OPER_HELP_SESSION,
+ OPER_HELP_STAFF,
+ OPER_HELP_DEFCON,
+ OPER_HELP_DEFCON_NO_NEW_CHANNELS,
+ OPER_HELP_DEFCON_NO_NEW_NICKS,
+ OPER_HELP_DEFCON_NO_MLOCK_CHANGE,
+ OPER_HELP_DEFCON_FORCE_CHAN_MODES,
+ OPER_HELP_DEFCON_REDUCE_SESSION,
+ OPER_HELP_DEFCON_NO_NEW_CLIENTS,
+ OPER_HELP_DEFCON_OPER_ONLY,
+ OPER_HELP_DEFCON_SILENT_OPER_ONLY,
+ OPER_HELP_DEFCON_AKILL_NEW_CLIENTS,
+ OPER_HELP_DEFCON_NO_NEW_MEMOS,
+ OPER_HELP_CHANKILL,
+ NEWS_LOGON_TEXT,
+ NEWS_OPER_TEXT,
+ NEWS_RANDOM_TEXT,
+ NEWS_LOGON_SYNTAX,
+ NEWS_LOGON_LIST_HEADER,
+ NEWS_LIST_ENTRY,
+ NEWS_LOGON_LIST_NONE,
+ NEWS_LOGON_ADD_SYNTAX,
+ NEWS_ADD_FULL,
+ NEWS_LOGON_ADDED,
+ NEWS_LOGON_DEL_SYNTAX,
+ NEWS_LOGON_DEL_NOT_FOUND,
+ NEWS_LOGON_DELETED,
+ NEWS_LOGON_DEL_NONE,
+ NEWS_LOGON_DELETED_ALL,
+ NEWS_OPER_SYNTAX,
+ NEWS_OPER_LIST_HEADER,
+ NEWS_OPER_LIST_NONE,
+ NEWS_OPER_ADD_SYNTAX,
+ NEWS_OPER_ADDED,
+ NEWS_OPER_DEL_SYNTAX,
+ NEWS_OPER_DEL_NOT_FOUND,
+ NEWS_OPER_DELETED,
+ NEWS_OPER_DEL_NONE,
+ NEWS_OPER_DELETED_ALL,
+ NEWS_RANDOM_SYNTAX,
+ NEWS_RANDOM_LIST_HEADER,
+ NEWS_RANDOM_LIST_NONE,
+ NEWS_RANDOM_ADD_SYNTAX,
+ NEWS_RANDOM_ADDED,
+ NEWS_RANDOM_DEL_SYNTAX,
+ NEWS_RANDOM_DEL_NOT_FOUND,
+ NEWS_RANDOM_DELETED,
+ NEWS_RANDOM_DEL_NONE,
+ NEWS_RANDOM_DELETED_ALL,
+ NEWS_HELP_LOGON,
+ NEWS_HELP_OPER,
+ NEWS_HELP_RANDOM,
+ NICK_HELP_CMD_CONFIRM,
+ NICK_HELP_CMD_RESEND,
+ NICK_HELP_CMD_REGISTER,
+ NICK_HELP_CMD_GROUP,
+ NICK_HELP_CMD_UNGROUP,
+ NICK_HELP_CMD_IDENTIFY,
+ NICK_HELP_CMD_ACCESS,
+ NICK_HELP_CMD_SET,
+ NICK_HELP_CMD_SASET,
+ NICK_HELP_CMD_DROP,
+ NICK_HELP_CMD_RECOVER,
+ NICK_HELP_CMD_RELEASE,
+ NICK_HELP_CMD_SENDPASS,
+ NICK_HELP_CMD_RESETPASS,
+ NICK_HELP_CMD_GHOST,
+ NICK_HELP_CMD_ALIST,
+ NICK_HELP_CMD_GLIST,
+ NICK_HELP_CMD_INFO,
+ NICK_HELP_CMD_LIST,
+ NICK_HELP_CMD_LOGOUT,
+ NICK_HELP_CMD_STATUS,
+ NICK_HELP_CMD_UPDATE,
+ NICK_HELP_CMD_GETPASS,
+ NICK_HELP_CMD_GETEMAIL,
+ NICK_HELP_CMD_FORBID,
+ NICK_HELP_CMD_SUSPEND,
+ NICK_HELP_CMD_UNSUSPEND,
+ NICK_HELP,
+ NICK_HELP_FOOTER,
+ NICK_HELP_EXPIRES,
+ NICK_HELP_REGISTER,
+ NICK_HELP_GROUP,
+ NICK_HELP_UNGROUP,
+ NICK_HELP_IDENTIFY,
+ NICK_HELP_UPDATE,
+ NICK_HELP_LOGOUT,
+ NICK_HELP_DROP,
+ NICK_HELP_ACCESS,
+ NICK_HELP_SET_HEAD,
+ NICK_HELP_CMD_SET_DISPLAY,
+ NICK_HELP_CMD_SET_PASSWORD,
+ NICK_HELP_CMD_SET_LANGUAGE,
+ NICK_HELP_CMD_SET_EMAIL,
+ NICK_HELP_CMD_SET_GREET,
+ NICK_HELP_CMD_SET_KILL,
+ NICK_HELP_CMD_SET_SECURE,
+ NICK_HELP_CMD_SET_PRIVATE,
+ NICK_HELP_CMD_SET_HIDE,
+ NICK_HELP_CMD_SET_MSG,
+ NICK_HELP_CMD_SET_AUTOOP,
+ NICK_HELP_SET_TAIL,
+ NICK_HELP_SET_DISPLAY,
+ NICK_HELP_SET_PASSWORD,
+ NICK_HELP_SET_LANGUAGE,
+ NICK_HELP_SET_EMAIL,
+ NICK_HELP_SET_GREET,
+ NICK_HELP_SET_KILL,
+ NICK_HELP_SET_SECURE,
+ NICK_HELP_SET_PRIVATE,
+ NICK_HELP_SET_HIDE,
+ NICK_HELP_SET_MSG,
+ NICK_HELP_SET_AUTOOP,
+ NICK_HELP_SASET_HEAD,
+ NICK_HELP_CMD_SASET_DISPLAY,
+ NICK_HELP_CMD_SASET_PASSWORD,
+ NICK_HELP_CMD_SASET_EMAIL,
+ NICK_HELP_CMD_SASET_GREET,
+ NICK_HELP_CMD_SASET_PRIVATE,
+ NICK_HELP_CMD_SASET_NOEXPIRE,
+ NICK_HELP_CMD_SASET_AUTOOP,
+ NICK_HELP_CMD_SASET_LANGUAGE,
+ NICK_HELP_SASET_TAIL,
+ NICK_HELP_SASET_DISPLAY,
+ NICK_HELP_SASET_PASSWORD,
+ NICK_HELP_SASET_EMAIL,
+ NICK_HELP_SASET_GREET,
+ NICK_HELP_SASET_KILL,
+ NICK_HELP_SASET_SECURE,
+ NICK_HELP_SASET_PRIVATE,
+ NICK_HELP_SASET_HIDE,
+ NICK_HELP_SASET_MSG,
+ NICK_HELP_SASET_NOEXPIRE,
+ NICK_HELP_SASET_AUTOOP,
+ NICK_HELP_SASET_LANGUAGE,
+ NICK_HELP_RECOVER,
+ NICK_HELP_RELEASE,
+ NICK_HELP_GHOST,
+ NICK_HELP_INFO,
+ NICK_HELP_LIST,
+ NICK_HELP_ALIST,
+ NICK_HELP_GLIST,
+ NICK_HELP_STATUS,
+ NICK_HELP_SENDPASS,
+ NICK_HELP_RESETPASS,
+ NICK_HELP_CONFIRM,
+ NICK_HELP_CONFIRM_OPER,
+ NICK_HELP_RESEND,
+ NICK_SERVADMIN_HELP,
+ NICK_SERVADMIN_HELP_LOGOUT,
+ NICK_SERVADMIN_HELP_DROP,
+ NICK_SERVADMIN_HELP_LIST,
+ NICK_SERVADMIN_HELP_ALIST,
+ NICK_SERVADMIN_HELP_GLIST,
+ NICK_SERVADMIN_HELP_GETPASS,
+ NICK_SERVADMIN_HELP_GETEMAIL,
+ NICK_SERVADMIN_HELP_FORBID,
+ NICK_SERVADMIN_HELP_SUSPEND,
+ NICK_SERVADMIN_HELP_UNSUSPEND,
+ CHAN_HELP_CMD_GETPASS,
+ CHAN_HELP_CMD_FORBID,
+ CHAN_HELP_CMD_SUSPEND,
+ CHAN_HELP_CMD_UNSUSPEND,
+ CHAN_HELP_CMD_STATUS,
+ CHAN_HELP_CMD_REGISTER,
+ CHAN_HELP_CMD_SET,
+ CHAN_HELP_CMD_SASET,
+ CHAN_HELP_CMD_QOP,
+ CHAN_HELP_CMD_AOP,
+ CHAN_HELP_CMD_SOP,
+ CHAN_HELP_CMD_ACCESS,
+ CHAN_HELP_CMD_LEVELS,
+ CHAN_HELP_CMD_AKICK,
+ CHAN_HELP_CMD_DROP,
+ CHAN_HELP_CMD_BAN,
+ CHAN_HELP_CMD_CLEAR,
+ CHAN_HELP_CMD_DEVOICE,
+ CHAN_HELP_CMD_GETKEY,
+ CHAN_HELP_CMD_INFO,
+ CHAN_HELP_CMD_INVITE,
+ CHAN_HELP_CMD_KICK,
+ CHAN_HELP_CMD_LIST,
+ CHAN_HELP_CMD_OP,
+ CHAN_HELP_CMD_TOPIC,
+ CHAN_HELP_CMD_UNBAN,
+ CHAN_HELP_CMD_VOICE,
+ CHAN_HELP_CMD_VOP,
+ CHAN_HELP_CMD_DEHALFOP,
+ CHAN_HELP_CMD_DEOWNER,
+ CHAN_HELP_CMD_DEPROTECT,
+ CHAN_HELP_CMD_HALFOP,
+ CHAN_HELP_CMD_HOP,
+ CHAN_HELP_CMD_OWNER,
+ CHAN_HELP_CMD_PROTECT,
+ CHAN_HELP_CMD_DEOP,
+ CHAN_HELP,
+ CHAN_HELP_EXPIRES,
+ CHAN_HELP_REGISTER,
+ CHAN_HELP_DROP,
+ CHAN_HELP_SASET_HEAD,
+ CHAN_HELP_SET_HEAD,
+ CHAN_HELP_CMD_SET_FOUNDER,
+ CHAN_HELP_CMD_SET_SUCCESSOR,
+ CHAN_HELP_CMD_SET_DESC,
+ CHAN_HELP_CMD_SET_ENTRYMSG,
+ CHAN_HELP_CMD_SET_BANTYPE,
+ CHAN_HELP_CMD_SET_MLOCK,
+ CHAN_HELP_CMD_SET_KEEPTOPIC,
+ CHAN_HELP_CMD_SET_OPNOTICE,
+ CHAN_HELP_CMD_SET_PEACE,
+ CHAN_HELP_CMD_SET_PRIVATE,
+ CHAN_HELP_CMD_SET_RESTRICTED,
+ CHAN_HELP_CMD_SET_SECURE,
+ CHAN_HELP_CMD_SET_SECUREOPS,
+ CHAN_HELP_CMD_SET_SECUREFOUNDER,
+ CHAN_HELP_CMD_SET_SIGNKICK,
+ CHAN_HELP_CMD_SET_TOPICLOCK,
+ CHAN_HELP_CMD_SET_XOP,
+ CHAN_HELP_CMD_SET_PERSIST,
+ CHAN_HELP_CMD_SET_NOEXPIRE,
+ CHAN_HELP_SET_TAIL,
+ CHAN_HELP_SASET_TAIL,
+ CHAN_HELP_SET_FOUNDER,
+ CHAN_HELP_SET_SUCCESSOR,
+ CHAN_HELP_SET_DESC,
+ CHAN_HELP_SET_ENTRYMSG,
+ CHAN_HELP_SET_BANTYPE,
+ CHAN_HELP_SET_KEEPTOPIC,
+ CHAN_HELP_SET_TOPICLOCK,
+ CHAN_HELP_SET_MLOCK,
+ CHAN_HELP_SET_PEACE,
+ CHAN_HELP_SET_PRIVATE,
+ CHAN_HELP_SET_RESTRICTED,
+ CHAN_HELP_SET_SECURE,
+ CHAN_HELP_SET_SECUREOPS,
+ CHAN_HELP_SET_SECUREFOUNDER,
+ CHAN_HELP_SET_SIGNKICK,
+ CHAN_HELP_SET_XOP,
+ CHAN_HELP_SET_PERSIST,
+ CHAN_HELP_SET_OPNOTICE,
+ CHAN_HELP_QOP,
+ CHAN_HELP_AOP,
+ CHAN_HELP_HOP,
+ CHAN_HELP_SOP,
+ CHAN_HELP_VOP,
+ CHAN_HELP_ACCESS,
+ CHAN_HELP_ACCESS_LEVELS,
+ CHAN_HELP_AKICK,
+ CHAN_HELP_LEVELS,
+ CHAN_HELP_LEVELS_DESC,
+ CHAN_HELP_LEVELS_DESC_FORMAT,
+ CHAN_HELP_INFO,
+ CHAN_HELP_LIST,
+ CHAN_HELP_OP,
+ CHAN_HELP_DEOP,
+ CHAN_HELP_VOICE,
+ CHAN_HELP_DEVOICE,
+ CHAN_HELP_HALFOP,
+ CHAN_HELP_DEHALFOP,
+ CHAN_HELP_PROTECT,
+ CHAN_HELP_DEPROTECT,
+ CHAN_HELP_OWNER,
+ CHAN_HELP_DEOWNER,
+ CHAN_HELP_INVITE,
+ CHAN_HELP_UNBAN,
+ CHAN_HELP_KICK,
+ CHAN_HELP_BAN,
+ CHAN_HELP_TOPIC,
+ CHAN_HELP_CLEAR,
+ CHAN_HELP_GETKEY,
+ CHAN_SERVADMIN_HELP,
+ CHAN_SERVADMIN_HELP_DROP,
+ CHAN_SERVADMIN_HELP_SET_NOEXPIRE,
+ CHAN_SERVADMIN_HELP_LIST,
+ CHAN_SERVADMIN_HELP_GETPASS,
+ CHAN_SERVADMIN_HELP_FORBID,
+ CHAN_SERVADMIN_HELP_SUSPEND,
+ CHAN_SERVADMIN_HELP_UNSUSPEND,
+ CHAN_SERVADMIN_HELP_STATUS,
+ MEMO_HELP_CMD_SEND,
+ MEMO_HELP_CMD_CANCEL,
+ MEMO_HELP_CMD_LIST,
+ MEMO_HELP_CMD_READ,
+ MEMO_HELP_CMD_DEL,
+ MEMO_HELP_CMD_SET,
+ MEMO_HELP_CMD_INFO,
+ MEMO_HELP_CMD_RSEND,
+ MEMO_HELP_CMD_CHECK,
+ MEMO_HELP_CMD_SENDALL,
+ MEMO_HELP_CMD_STAFF,
+ MEMO_HELP_HEADER,
+ MEMO_HELP_ADMIN,
+ MEMO_HELP_FOOTER,
+ MEMO_HELP_SEND,
+ MEMO_HELP_CANCEL,
+ MEMO_HELP_LIST,
+ MEMO_HELP_READ,
+ MEMO_HELP_DEL,
+ MEMO_HELP_SET,
+ MEMO_HELP_SET_NOTIFY,
+ MEMO_HELP_SET_LIMIT,
+ MEMO_HELP_INFO,
+ MEMO_SERVADMIN_HELP_SET_LIMIT,
+ MEMO_SERVADMIN_HELP_INFO,
+ MEMO_HELP_STAFF,
+ MEMO_HELP_SENDALL,
+ MEMO_HELP_RSEND,
+ MEMO_HELP_CHECK,
+ OPER_HELP_CMD_GLOBAL,
+ OPER_HELP_CMD_STATS,
+ OPER_HELP_CMD_STAFF,
+ OPER_HELP_CMD_MODE,
+ OPER_HELP_CMD_KICK,
+ OPER_HELP_CMD_CLEARMODES,
+ OPER_HELP_CMD_KILLCLONES,
+ OPER_HELP_CMD_AKILL,
+ OPER_HELP_CMD_SNLINE,
+ OPER_HELP_CMD_SQLINE,
+ OPER_HELP_CMD_SZLINE,
+ OPER_HELP_CMD_CHANLIST,
+ OPER_HELP_CMD_USERLIST,
+ OPER_HELP_CMD_LOGONNEWS,
+ OPER_HELP_CMD_RANDOMNEWS,
+ OPER_HELP_CMD_OPERNEWS,
+ OPER_HELP_CMD_SESSION,
+ OPER_HELP_CMD_EXCEPTION,
+ OPER_HELP_CMD_NOOP,
+ OPER_HELP_CMD_JUPE,
+ OPER_HELP_CMD_IGNORE,
+ OPER_HELP_CMD_SET,
+ OPER_HELP_CMD_RELOAD,
+ OPER_HELP_CMD_UPDATE,
+ OPER_HELP_CMD_RESTART,
+ OPER_HELP_CMD_QUIT,
+ OPER_HELP_CMD_SHUTDOWN,
+ OPER_HELP_CMD_DEFCON,
+ OPER_HELP_CMD_CHANKILL,
+ OPER_HELP_CMD_OLINE,
+ OPER_HELP_CMD_UMODE,
+ OPER_HELP_CMD_SVSNICK,
+ OPER_HELP_CMD_MODLOAD,
+ OPER_HELP_CMD_MODUNLOAD,
+ OPER_HELP_CMD_MODINFO,
+ OPER_HELP_CMD_MODLIST,
+ OPER_HELP,
+ OPER_HELP_LOGGED,
+ OPER_HELP_GLOBAL,
+ OPER_HELP_STATS,
+ OPER_HELP_IGNORE,
+ OPER_HELP_MODE,
+ OPER_HELP_UMODE,
+ OPER_HELP_OLINE,
+ OPER_HELP_CLEARMODES,
+ OPER_HELP_KICK,
+ OPER_HELP_SVSNICK,
+ OPER_HELP_AKILL,
+ OPER_HELP_SNLINE,
+ OPER_HELP_SQLINE,
+ OPER_HELP_SZLINE,
+ OPER_HELP_SET,
+ OPER_HELP_SET_READONLY,
+ OPER_HELP_SET_LOGCHAN,
+ OPER_HELP_SET_DEBUG,
+ OPER_HELP_SET_NOEXPIRE,
+ OPER_HELP_SET_SUPERADMIN,
+ OPER_HELP_SET_IGNORE,
+ OPER_HELP_SET_LIST,
+ OPER_HELP_NOOP,
+ OPER_HELP_JUPE,
+ OPER_HELP_UPDATE,
+ OPER_HELP_RELOAD,
+ OPER_HELP_QUIT,
+ OPER_HELP_SHUTDOWN,
+ OPER_HELP_RESTART,
+ OPER_HELP_CHANLIST,
+ OPER_HELP_USERLIST,
+ OPER_HELP_MODLOAD,
+ OPER_HELP_MODUNLOAD,
+ OPER_HELP_MODINFO,
+ OPER_HELP_MODLIST,
+ BOT_HELP_CMD_BOTLIST,
+ BOT_HELP_CMD_ASSIGN,
+ BOT_HELP_CMD_SET,
+ BOT_HELP_CMD_KICK,
+ BOT_HELP_CMD_BADWORDS,
+ BOT_HELP_CMD_ACT,
+ BOT_HELP_CMD_INFO,
+ BOT_HELP_CMD_SAY,
+ BOT_HELP_CMD_UNASSIGN,
+ BOT_HELP_CMD_BOT,
+ BOT_HELP,
+ BOT_HELP_FOOTER,
+ BOT_HELP_BOTLIST,
+ BOT_HELP_ASSIGN,
+ BOT_HELP_UNASSIGN,
+ BOT_HELP_INFO,
+ BOT_HELP_SET,
+ BOT_HELP_SET_DONTKICKOPS,
+ BOT_HELP_SET_DONTKICKVOICES,
+ BOT_HELP_SET_FANTASY,
+ BOT_HELP_SET_GREET,
+ BOT_HELP_SET_SYMBIOSIS,
+ BOT_HELP_KICK,
+ BOT_HELP_KICK_BOLDS,
+ BOT_HELP_KICK_COLORS,
+ BOT_HELP_KICK_REVERSES,
+ BOT_HELP_KICK_UNDERLINES,
+ BOT_HELP_KICK_CAPS,
+ BOT_HELP_KICK_FLOOD,
+ BOT_HELP_KICK_REPEAT,
+ BOT_HELP_KICK_BADWORDS,
+ BOT_HELP_KICK_ITALICS,
+ BOT_HELP_BADWORDS,
+ BOT_HELP_SAY,
+ BOT_HELP_ACT,
+ BOT_SERVADMIN_HELP_BOT,
+ BOT_SERVADMIN_HELP_SET,
+ BOT_SERVADMIN_HELP_SET_NOBOT,
+ BOT_SERVADMIN_HELP_SET_PRIVATE,
+ HOST_EMPTY,
+ HOST_ENTRY,
+ HOST_IDENT_ENTRY,
+ HOST_SET,
+ HOST_IDENT_SET,
+ HOST_SETALL,
+ HOST_DELALL,
+ HOST_DELALL_SYNTAX,
+ HOST_IDENT_SETALL,
+ HOST_SET_ERROR,
+ HOST_SET_IDENT_ERROR,
+ HOST_SET_TOOLONG,
+ HOST_SET_IDENTTOOLONG,
+ HOST_NOREG,
+ HOST_SET_SYNTAX,
+ HOST_SETALL_SYNTAX,
+ HOST_DENIED,
+ HOST_NOT_ASSIGNED,
+ HOST_ACTIVATED,
+ HOST_IDENT_ACTIVATED,
+ HOST_DEL,
+ HOST_DEL_SYNTAX,
+ HOST_OFF,
+ HOST_NO_VIDENT,
+ HOST_GROUP,
+ HOST_IDENT_GROUP,
+ HOST_LIST_FOOTER,
+ HOST_LIST_RANGE_FOOTER,
+ HOST_LIST_KEY_FOOTER,
+ HOST_HELP_CMD_ON,
+ HOST_HELP_CMD_OFF,
+ HOST_HELP_CMD_GROUP,
+ HOST_HELP_CMD_SET,
+ HOST_HELP_CMD_SETALL,
+ HOST_HELP_CMD_DEL,
+ HOST_HELP_CMD_DELALL,
+ HOST_HELP_CMD_LIST,
+ HOST_HELP_ON,
+ HOST_HELP_SET,
+ HOST_HELP_DELALL,
+ HOST_HELP_SETALL,
+ HOST_HELP_OFF,
+ HOST_HELP_DEL,
+ HOST_HELP_LIST,
+ HOST_HELP_GROUP,
+ OPER_SVSNICK_UNSUPPORTED,
+ OPER_SQLINE_UNSUPPORTED,
+ OPER_SVSO_UNSUPPORTED,
+ OPER_UMODE_UNSUPPORTED,
+ OPER_SUPER_ADMIN_NOT_ENABLED,
+ OPER_HELP_SYNC,
+ OPER_HELP_CMD_SQLSYNC,
+ OPER_SYNC_UPDATED,
+ LANG_STRING_COUNT
+};
diff --git a/include/mail.h b/include/mail.h
index 8a1f8e390..826f48253 100644
--- a/include/mail.h
+++ b/include/mail.h
@@ -3,8 +3,8 @@
#include "anope.h"
-extern CoreExport bool Mail(User *u, NickRequest *nr, const Anope::string &service, const Anope::string &subject, const Anope::string &message);
-extern CoreExport bool Mail(User *u, NickCore *nc, const Anope::string &service, const Anope::string &subject, const Anope::string &message);
+extern CoreExport bool Mail(User *u, NickRequest *nr, BotInfo *service, const Anope::string &subject, const Anope::string &message);
+extern CoreExport bool Mail(User *u, NickCore *nc, BotInfo *service, const Anope::string &subject, const Anope::string &message);
extern CoreExport bool Mail(NickCore *nc, const Anope::string &subject, const Anope::string &message);
extern CoreExport bool MailValidate(const Anope::string &email);
diff --git a/include/module.h b/include/module.h
index 468d2307f..7b4db02a2 100644
--- a/include/module.h
+++ b/include/module.h
@@ -3,7 +3,13 @@
#include "services.h"
#include "commands.h"
-#include "language.h"
#include "modules.h"
+#if HAVE_GETTEXT
+# include <libintl.h>
+# define _(x) gettext(x)
+#else
+# define _(x) x
+#endif
+
#endif // MODULE_H
diff --git a/include/modules.h b/include/modules.h
index 5748d4c10..53cd81340 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -240,12 +240,6 @@ class CoreExport Module : public virtual Base
*/
MODType type;
- struct ModuleLang
- {
- int argc;
- char **argv;
- } lang[NUM_LANGS];
-
/** Creates and initialises a new module.
* @param loadernick The nickname of the user loading the module.
*/
@@ -290,36 +284,12 @@ class CoreExport Module : public virtual Base
*/
Version GetVersion() const;
- /**
- * Allow a module to add a set of language strings to anope
- * @param langNumber the language number for the strings
- * @param ac The language count for the strings
- * @param av The language sring list.
- **/
- void InsertLanguage(int langNumber, int ac, const char **av);
-
- /**
- * Delete a language from a module
- * @param langNumber the language Number to delete
- **/
- void DeleteLanguage(int langNumber);
-
- /**
- * Get the text of the given lanugage string in the corrent language, or
- * in english.
- * @param u The user to send the message to
- * @param number The message number
- **/
- const char *GetLangString(User *u, int number);
-
- /**
- * Send a notice to the user in the correct language, or english.
- * @param source Who sends the notice
- * @param u The user to send the message to
- * @param number The message number
- * @param ... The argument list
- **/
- void NoticeLang(const Anope::string &source, const User *u, int number, ...) const;
+ /** Send a message to a user in their language, if a translation is available
+ * @param from Client to send the message from
+ * @param to User to send the message to
+ * @param fmt The message
+ */
+ void SendMessage(BotInfo *from, User *to, const char *fmt, ...);
/**
* Add a module provided command to the given service.
diff --git a/include/services.h b/include/services.h
index 947a8cc30..8748bd290 100644
--- a/include/services.h
+++ b/include/services.h
@@ -708,19 +708,11 @@ enum
/*************************************************************************/
-struct LevelInfo
-{
- int what;
- Anope::string name;
- int desc;
-};
-
-/*************************************************************************/
-
/* This structure stocks ban data since it must not be removed when
* user is kicked.
*/
+#include "language.h"
#include "users.h"
#include "account.h"
#include "bots.h"
@@ -732,6 +724,13 @@ struct BanData
int16 ttb[TTB_SIZE];
};
+struct LevelInfo
+{
+ int what;
+ Anope::string name;
+ LanguageString desc;
+};
+
#include "channels.h"
/** Channelban type flags
@@ -777,8 +776,6 @@ struct IgnoreData
/* News stuff */
-#define MSG_MAX 11
-
enum NewsType
{
NEWS_LOGON,
@@ -786,11 +783,11 @@ enum NewsType
NEWS_OPER
};
-struct newsmsgs
+struct NewsMessages
{
NewsType type;
Anope::string name;
- int msgs[MSG_MAX + 1];
+ LanguageString msgs[10];
};
struct NewsItem
@@ -857,37 +854,6 @@ enum DefconLevel
/*************************************************************************/
-/* Languages. Never insert anything in the middle of this list, or
- * everybody will start getting the wrong language! If you want to change
- * the order the languages are displayed in for NickServ HELP SET LANGUAGE,
- * do it in language.c.
- */
-enum Languages
-{
- LANG_EN_US, /* United States English */
- LANG_JA_JIS, /* Japanese (JIS encoding) */
- LANG_JA_EUC, /* Japanese (EUC encoding) */
- LANG_JA_SJIS, /* Japanese (SJIS encoding) */
- LANG_ES, /* Spanish */
- LANG_PT, /* Portugese */
- LANG_FR, /* French */
- LANG_TR, /* Turkish */
- LANG_IT, /* Italian */
- LANG_DE, /* German */
- LANG_CAT, /* Catalan */
- LANG_GR, /* Greek */
- LANG_NL, /* Dutch */
- LANG_RU, /* Russian */
- LANG_HUN, /* Hungarian */
- LANG_PL, /* Polish */
- NUM_LANGS /* Number of languages */
-};
-static const int USED_LANGS = 13; /* Number of languages provided */
-
-static const int DEF_LANGUAGE = LANG_EN_US;
-
-/*************************************************************************/
-
/**
* RFC: defination of a valid nick
* nickname = ( letter / special ) *8( letter / digit / special / "-" )
diff --git a/include/sysconf.h.cmake b/include/sysconf.h.cmake
index 2d278e3dd..46a48df7d 100644
--- a/include/sysconf.h.cmake
+++ b/include/sysconf.h.cmake
@@ -17,6 +17,8 @@
#cmakedefine HAVE_STRLCPY 1
#cmakedefine HAVE_SYS_SELECT_H 1
#cmakedefine HAVE_UMASK 1
+#cmakedefine HAVE_EVENTFD 1
+#cmakedefine HAVE_GETTEXT 1
#cmakedefine RUNGROUP "@RUNGROUP@"
#cmakedefine SERVICES_BIN "@SERVICES_BIN@"
diff --git a/include/users.h b/include/users.h
index b880a197a..82ca59681 100644
--- a/include/users.h
+++ b/include/users.h
@@ -158,6 +158,13 @@ class CoreExport User : public Extensible
virtual void SendMessage(const Anope::string &source, const char *fmt, ...) const;
virtual void SendMessage(const Anope::string &source, const Anope::string &msg) const;
+ /** Send a language string message to a user
+ * @param source Sender
+ * @param message The message num
+ * @param ... parameters
+ */
+ void SendMessage(BotInfo *source, LanguageString message, ...) const;
+
/** Collide a nick
* See the comment in users.cpp
* @param na The nick