1 #ifndef __CHANSERV_MESSAGES_H
2 #define __CHANSERV_MESSAGES_H
4 #define Q9_FORMAT_TIME "%d/%m/%y %H:%M GMT"
7 #define Q9_LOG_FORMAT_TIME "%d/%m/%y %H:%M:%S"
9 #define MAXMESSAGES 250
11 #ifdef COMPILING_MESSAGES
12 #define msg(token, message, args) message, args
13 #define BeginMessages() char *defaultmessages[MAXMESSAGES*2] =
14 #define EndMessages();
16 #define msg(token, message, argsx) token
17 #define BeginMessages(x) typedef enum csrawmessages
18 #define EndMessages() csrawmessages; extern char *defaultmessages[MAXMESSAGES*2];
22 msg(QM_PROTECTED
, "Channel $0 is protected by $1.", "ss"),
23 msg(QM_UNKNOWNCMD
, "Unknown command $0. Type SHOWCOMMANDS for a list of available commands.", "s"),
24 msg(QM_SECUREONLY
, "To prevent sensitive information being accidentally send to malicious users\non other networks, when using the $0 command, you must use\n/msg $1@$2.", "sss"),
25 msg(QM_AUTHEDONLY
, "$0 is only available to authed users. Try AUTH to authenticate with your\naccount, or HELLO to create an account.", "s"),
26 msg(QM_UNAUTHEDONLY
, "$0 is not available once you have authed.", "s"),
27 msg(QM_COMMANDLIST
, "The following commands are available to you.\nFor more information on a specific command, type HELP <command>:", ""),
28 msg(QM_ENDOFLIST
, "End of list.", ""),
29 msg(QM_DONE
, "Done.", ""),
30 msg(QM_NOTENOUGHPARAMS
, "You didn't provide enough parameters for $0.", "s"),
31 msg(QM_UNKNOWNCHAN
, "Channel $0 is unknown or suspended.", "s"),
32 msg(QM_NOACCESSONCHAN
, "You do not have sufficient access on $0 to use $1.", "ss"),
33 msg(QM_CURCHANFLAGS
, "Current channel flags for $0: $1", "ss"),
34 msg(QM_CURFORCEMODES
, "Current forced modes on $0: $1", "ss"),
35 msg(QM_NOACCESS
, "You do not have sufficient privileges to use $0.", "s"),
36 msg(QM_UNKNOWNUSER
, "Can't find user $0.", "s"),
37 msg(QM_USERNOTAUTHED
, "User $0 is not authed.", "s"),
38 msg(QM_CHANLEVHEADER
, "Known users on $0:", "s"),
39 msg(QM_CHANLEVCOLSHORT
, "Username Flags", ""),
40 msg(QM_CHANLEVCOLFULL
, "Username Flags Last join Last changed ", ""),
41 msg(QM_NOUSERSONCHANLEV
, "No known users found on $0.", "s"),
42 msg(QM_CHANUSERFLAGS
, "Flags for $0 on $1: $2", "sss"),
43 msg(QM_CHANUSERUNKNOWN
, "User $0 is not known on $1.", "ss"),
44 msg(QM_INVALIDCHANLEVCHANGE
, "Invalid or disallowed flag specified.", ""),
45 msg(QM_USERISAUTHEDAS
, "$0 is authed as $1.", "ss"),
46 msg(QM_USERISSTAFF
, "QuakeNet Staff : Staff Member", ""),
47 msg(QM_USERISHELPER
, "QuakeNet Staff : IRC Support", ""),
48 msg(QM_USERISOPER
, "QuakeNet Staff : IRC Operator", ""),
49 msg(QM_USERISADMIN
, "QuakeNet Staff : IRC Administrator", ""),
50 msg(QM_USERISDEV
, "QuakeNet Staff : Developer", ""),
51 msg(QM_WHOISHEADER
, "$0 is known on the following channels:", "s"),
52 msg(QM_WHOISCOLS
, "Channel Flags", ""),
53 msg(QM_USERONNOCHANS
, "$0 is not known on any channels.", "s"),
54 msg(QM_CHANAUTOLIMIT
, "Current autolimit setting on $0: $1", "sd"),
55 msg(QM_CHANBANAUTOREMOVE
, "Bans on $0 will be removed after: $1", "ss"),
56 msg(QM_NOCHANBANAUTOREMOVE
, "Bans on $0 will not be automatically removed.", "s"),
57 msg(QM_INVALIDCHANNAME
, "$0 is not a valid channel name.", "s"),
58 msg(QM_ALREADYREGISTERED
, "$0 is already registered.", "s"),
59 msg(QM_CURUSERFLAGS
, "User flags for $0: $1", "ss"),
60 msg(QM_WELCOMEMESSAGEIS
, "Welcome message for $0: $1", "ss"),
61 msg(QM_GLOBALINFO
, "Default info line: $0", "s"),
62 msg(QM_CHANNELINFO
, "Info line on $0: $1", "ss"),
63 msg(QM_PROTECTEDNICK
, "$0 is a protected helper or oper nick. Please use a different nickname.", "s"),
64 msg(QM_NICKWASFAKED
, "I created a fakeuser $0 to prevent your nick being stolen.", "s"),
65 msg(QM_NOTPROTECTED
, "Sorry, your nick $0 is not protected.", "s"),
66 msg(QM_SAMEAUTH
, "$0 is authed as $1. Cannot reclaim nick.", "ss"),
67 msg(QM_AUTHFAIL
, "Username or password incorrect.", ""),
68 msg(QM_AUTHOK
, "You are now logged in as $0.\nRemember: NO-ONE from QuakeNet will ever ask for your password. NEVER send your password to ANYONE except Q@CServe.quakenet.org.", "s"),
69 msg(QM_NEWACCOUNT
, "Account $0 created successfully.\nInformation about how to access and use your new account will be sent to your email address, $1.\nIf you do not see an email soon be sure to check your spam folder.", "ss"),
70 msg(QM_AUTHNAMEINUSE
, "Someone already has the account name $0!\nIf this is your account use AUTH to login, otherwise please change your nick using /NICK and try again.", "s"),
71 msg(QM_ALREADYONCHAN
, "You're already on $0.", "s"),
72 msg(QM_NOTONCHAN
, "You're not on $0.", "s"),
73 msg(QM_ALREADYOPPED
, "You're already opped on $0.", "s"),
74 msg(QM_USERNOTONCHAN
, "$0 is not on $1.", "ss"),
75 msg(QM_USEROPPEDONCHAN
, "$0 is already opped on $1.", "ss"),
76 msg(QM_CANTOP
, "Channel settings prevent $0 being opped on $1.", "ss"),
77 msg(QM_NOTOPPED
, "You're not opped on $0.", "s"),
78 msg(QM_ALREADYVOICED
, "You're already voiced on $0.", "s"),
79 msg(QM_NOTVOICED
, "You're not voiced on $0.", "s"),
80 msg(QM_USERVOICEDONCHAN
, "$0 is already voiced on $1.", "ss"),
81 msg(QM_REGBANHEADER
, "Registered bans on $0:\nID Hostmask Expires Set by Reason", "s"),
82 msg(QM_NOBANS
, "No bans on $0.", "s"),
83 msg(QM_REMOVEDCHANBAN
, "Removed channel ban $0 from $1.", "ss"),
84 msg(QM_NOTREMOVEDPERMBAN
, "You need the master flag to remove registered ban $0 from $1.", "ss"),
85 msg(QM_REMOVEDPERMBAN
, "Removed registered ban $0 from $1.", "ss"),
86 msg(QM_CANTVOICE
, "Channel settings prevent $0 being voiced on $1.", "ss"),
87 msg(QM_NOHELP
, "Sorry, no help available for $0.", "s"),
88 msg(QM_WHOISHEADER_NICK
, "-Information for user $0 (using account $1):", "ss"),
89 msg(QM_WHOISHEADER_AUTH
, "-Information for account $0:", "s"),
90 msg(QM_WHOIS_USERS
, "Account users : $0", "s"),
91 msg(QM_WHOIS_LASTAUTH
, "Last auth : $0", "s"),
92 msg(QM_WHOIS_LASTUSERHOST
, "Last user@host : $0", "s"),
93 msg(QM_WHOIS_USERID
, "User ID : $0", "d"),
94 msg(QM_WHOIS_INFO
, "Info : $0", "s"),
95 msg(QM_WHOIS_COMMENT
, "Staff comment : $0", "s"),
96 msg(QM_WHOIS_FLAGS
, "User flags : $0", "s"),
97 msg(QM_WHOIS_CREATED
, "User created : $0", "T"),
98 msg(QM_WHOIS_CHANHEADER
, "Known on the following channels:\nChannel Flags", ""),
99 msg(QM_WHOIS_EMAIL
, "Email address : $0", "s"),
100 msg(QM_WHOIS_EMAILSET
, "Email last set : $0", "T"),
101 msg(QM_COMMENT
, "Staff comment for $0: $1.", "ss"),
102 msg(QM_NOCOMMENT
, "No staff comment for $0.", "s"),
103 msg(QM_BADAUTH
, "$0: Your account has been deleted or suspended.", "s"),
104 msg(QM_USERHASBADAUTH
, "Account $0 has been deleted.", "s"),
105 msg(QM_BADEMAIL
, "Sorry, no accounts have that email address.", ""),
106 msg(QM_MAILTHROTTLED
, "Sorry, but you have already requested a password. You will have to wait atleast $0 hours, before requesting again.", "g"),
107 msg(QM_MAILQUEUED
, "Mail queued for delivery", ""),
108 msg(QM_PWDONTMATCH
, "Sorry, but passwords do not match", ""),
109 msg(QM_PWTOSHORT
, "Sorry, but new password is to short", ""),
110 msg(QM_PWCHANGED
, "Ok, password changed", ""),
111 msg(QM_INVALIDDURATION2
, "Duration too long or invalid: $0", "s"),
112 msg(QM_EMAILCHANGED
, "Ok, email changed to \"$0\"", "s"),
113 msg(QM_EMAILDONTMATCH
, "Sorry, but first and second email addresses don't match", ""),
114 msg(QM_INVALIDEMAIL
, "$0 is not a valid email address", "s"),
115 msg(QM_EMAILTOOSHORT
, "Email ($0) too short", "s"),
116 msg(QM_NOTYOUREMAIL
, "\"$0\" is not your email address", "s"),
117 msg(QM_EMAILNOAT
, "Email ($0) must contain at least one at sign (@)", "s"),
118 msg(QM_EMAILATEND
, "Email ($0) can't end with an at sign (@)", "s"),
119 msg(QM_EMAILINVCHR
, "Email ($0) contains invalid characters", "s"),
120 msg(QM_CHANNELNOTSUSPENDED
, "Channel $0 is not suspended.", "s"),
121 msg(QM_CHANNELALREADYSUSPENDED
, "Channel $0 is already suspended.", "s"),
122 msg(QM_CHANTYPE
, "Channel type: $0", "s"),
123 msg(QM_UNKNOWNCHANTYPE
, "$0: unknown channel type", "s"),
124 msg(QM_FOUNDER
, "Original founder: $0", "s"),
125 msg(QM_ADDEDBY
, "Added by: $0", "s"),
126 msg(QM_ALREADYKNOWNONCHAN
, "$0 is already known on $1.", "ss"),
127 msg(QM_CANNOTREMOVEOWNER
, "Not removing channel owner $0 from $1.", "ss"),
128 msg(QM_CANNOTREMOVEMASTER
, "Not removing channel master $0 from $1.", "ss"),
129 msg(QM_UNKNOWNBAN
, "Can't find ban $0 on $1.", "ss"),
130 msg(QM_YOURLANGUAGE
, "Your language is currently set to: $0.", "s"),
131 msg(QM_LANGUAGELIST
, "The following languages are currently known:", ""),
132 msg(QM_UNKNOWNLANGUAGE
, "Unknown language code: $0.", "s"),
133 msg(QM_WHOIS_USERLANG
, "Language : $0", "s"),
134 msg(QM_CHANTYPEIS
, "Channel type for $0 is: $1", "ss"),
135 msg(QM_STATSHEADER
, "Statistics for $0:", "s"),
136 msg(QM_STATSADDED
, "Date added: $0", "T"),
137 msg(QM_STATSJOINS
, "Since $0: maximum size $1, $2 joins ($3 joins/day).", "Tddg"),
138 msg(QM_STATSLASTACTIVE
, "Last active: $0", "T"),
139 msg(QM_AUTHSUSPENDED
, "Your Q account is suspended.", ""),
140 msg(QM_REASON
, "Reason: $0", "s"),
141 msg(QM_EXPIRES
, "Expires: $0", "T"),
142 msg(QM_TOOMANYAUTHS
, "Too many users AUTH'd to this account.", ""),
143 msg(QM_INVALIDDURATION
, "Duration must be between 1d and 1M.", ""),
144 msg(QM_DISCONNECTINGUSER
, "Disconnecting $0 (authed as $1)", "ss"),
145 msg(QM_USERALREADYSUSPENDED
, "User is already suspended.", ""),
146 msg(QM_USERNOTSUSPENDED
, "User $0 is not suspended.", "s"),
147 msg(QM_SPEWHEADER
, "Username: Suspended: Email: Last auth: Last user@host:", ""),
148 msg(QM_TOOMANYRESULTS
, "Found over $0 $1, truncating list.", "ds"),
149 msg(QM_RESULTCOUNT
, "Found $0 $1$2.", "uss"),
150 msg(QM_SUSPENDKILL
, "Attention: Your Q account has been suspended. You are being disconnected.", ""),
151 msg(QM_LISTFLAGSHEADER
, "Username: Flags: Suspended: Email: Last user@host:", ""),
152 msg(QM_SUSPENDUSERLISTHEADER
, "Username: Suspend type: Suspended by: Date suspended: Expires: Reason:", ""), /* @TIMELEN */
153 msg(QM_SUSPENDCHANLISTHEADER
, "Channel: Suspended by: Date suspended: Reason:", ""), /* @TIMELEN */
154 msg(QM_NOREQUESTOWNER
, "You cannot request ownership of $0 as there is a channel $1 present.", "ss"),
155 msg(QM_GRANTEDOWNER
, "You have been granted ownership of $0.", "s"),
156 msg(QM_AUTHHISTORYHEADER
, "#: User: Authed: Disconnected: Reason:", ""), /* @TIMELEN */
157 msg(QM_CURDOMAINMODES
, "Current modes on $0: $1", "ss"),
158 msg(QM_SPEWDOMAINHEADER
, "Domain: Users: Flags:", ""),
159 msg(QM_DOMAINLIMIT
, "Sorry, no more accounts are allowed from this email domain.", ""),
160 msg(QM_PWTOWEAK
, "Password too weak - You need to avoid repeating characters, and have different character types (e.g. 1 number and 1 letter)", ""),
161 msg(QM_GIVEOWNERNOTMASTER
, "User $0 is not a master on $1 - you must promote user to master status first.", "ss"),
162 msg(QM_GIVEOWNERALREADYOWNER
, "User $0 is already an owner on $1.", "ss"),
163 msg(QM_GIVEOWNERNEEDHASH
, "WARNING: This command will give COMPLETE control over $0 to $1,\nincluding the ability to remove you as owner. If you are sure you want to\ndo this, type: GIVEOWNER $2 #$3 $4", "sssss"),
164 msg(QM_GIVEOWNERWRONGHASH
, "Hash value incorrect, try again.", ""),
165 msg(QM_SHOWINGDURATION
, "Showing $0 for last $1.", "ss"),
166 msg(QM_INVALIDACCOUNTNAME
, "Change your nickname to something with none of the following characters: `~^[]{}|_\\", ""),
167 msg(QM_CHALLENGEBADALGORITHM
, "Invalid digest algorithm.", ""),
168 msg(QM_NOCHALLENGE
, "Challenge has either not been requested or has expired.", ""),
169 msg(QM_USEGIVEOWNER
, "For security reasons it is not possible to give the owner flag to other users\nusing CHANLEV. Use GIVEOWNER if you really wanted to do this.", ""),
170 msg(QM_NOFLAGSPECIFIED
, "You must specify at least one valid flag to add.", ""),
171 msg(QM_NEWBANALREADYBANNED
, "New ban is already contained within existing ban: $0", "s"),
172 msg(QM_NEWBANOVERLAPS
, "New ban would replace at least one existing ban ($0), use UNBANMASK $1 first if you want to set this ban.", "ss"),
173 msg(QM_REPLACINGTEMPBAN
, "A temporary ban with this mask already exists, replacing it.", ""),
174 msg(QM_PERMBANALREADYSET
, "That permanent ban already exists.", ""),
175 msg(QM_NOTREPLACINGBANLDURATION
, "That ban is already set with a longer duration.", ""),
176 msg(QM_REPLACINGBANSDURATION
, "Replaced existing ban which was set with a shorter duration.", ""),
177 msg(QM_TOOMANYCHANLEVS
, "Channel has too many user entries, aborting.", ""),
178 msg(QM_TOOMANYBANS
, "No more bans are allowed on that channel.", ""),
179 msg(QM_WARNNOTREMOVEDPERMBAN
, "Warning: not removing registered ban $0 from $1.", "ss"),
180 msg(QM_MAXHELLOLIMIT
, "Sorry, the registration service is unavailable to you at this time. Please try again later.", ""),
181 msg(QM_ADDRESSLIMIT
, "Too many accounts exist from this email address.", ""),
182 msg(UNUSED_1
, "", ""),
183 msg(QM_TYPEHELPFORHELP
, "For more information, type HELP $0.", "s"),
184 msg(QM_REQUESTPASSPRIVUSER
, "Cannot send password for that account.", ""),
185 msg(QM_EMAILMATCHESOLD
, "The new email address is the same as current one.", ""),
186 msg(QM_INVALIDLIMIT
, "Supplied autolimit is invalid: $0", "s"),
187 msg(QM_ACCOUNTLOCKED
, "This account has recently been modified. It will be unlocked on $0.", "T"),
188 msg(QM_ACCOUNTNOTLOCKED
, "That account is not locked.", ""),
189 msg(QM_RESETOK
, "Your old account settings have been restored, please check your email.", ""),
190 msg(QM_BADRESETCODE
, "Bad reset code.", ""),
191 msg(QM_CHALLENGEDDEPRECATED
, "WARNING: the selected algorithm is legacy functionality and is likely to be removed in the near future.", ""),
192 msg(QM_CHANLEVSUMMARY
, "Total: $0 (owner: $1, master: $2, op: $3, voice: $4, known: $5, ban: $6).", "ddddddd"),
193 msg(QM_MAILLOCKHEADER
, "Pattern: Created by: Reason: Created:", ""),
194 msg(QM_MAILLOCKDOESNTEXIST
, "That pattern doesn't exist.", ""),
195 msg(QM_MAILLOCKALREADYEXISTS
, "That pattern already exists!", ""),
196 msg(QM_MAILLOCKED
, "Sorry, you can't use that email address.", ""),
197 msg(QM_NOACCESSONUSER
, "You do not have sufficient access to use $0 on $1.", "ss"),
198 msg(QM_NOCHANOPHISTORY
, "No channel op events have been logged for $0.", "s"),
199 msg(QM_CHANOPHISTORYHEADER
, "Channel op events on $0:\nNickname Account used", "s"),
200 msg(QM_OTHERUSERAUTHEDLIMIT
, "Warning: $0 ($1@$2) attempted to auth with your password but you already had $3 users authed to your account.", "sssd"),
201 msg(QM_OTHERUSERAUTHED
, "Warning: $0 ($1@$2) authed with your password.", "sss"),
202 msg(QM_STATSRESET
, "Resettable statistics reset for $0.", "s"),
203 msg(QM_CHANLEVEMPTIEDCHANNEL
, "The channel has been deleted since the last known user was removed.", ""),
204 msg(QM_CHANLEVCHANGED
, "Done. Flags for $0 on $1 are now: $2.", "sss"),
205 msg(QM_CHANLEVREMOVED
, "Done. User $0 is no longer known on $1.", "ss"),
206 msg(QM_CHANLEVNOCHANGE
, "Nothing changed. This could be because you specified an impossible flag combination or don't have enough access.", ""),
207 msg(QM_USERSHEADER
, "Users currently on $0:\nNick Username Flags Host", "s"),
208 msg(QM_EMPTYCHAN
, "Channel $0 is currently empty.", "s"),
209 msg(QM_USERSSUMMARY
, "Total $0 users: $1 opped, $2 voiced, $3 others, $4 with flags ($5 ops, $6 masters)", "ddddddd"),
210 msg(QM_OPERONCHAN
, "You cannot use $0 on $1 since an oper is on the channel.","ss"),
211 msg(QM_USERSUSPENDEDTYPE
, "Suspend type : $0", "s"),
212 msg(QM_USERSUSPENDEDBY
, "Suspended by : $0", "s"),
213 msg(QM_USERSUSPENDEDREASON
, "Suspend reason : $0", "s"),
214 msg(QM_USERSUSPENDEDAT
, "Suspended at : $0", "T"),
215 msg(QM_USERSUSPENDEDEXPIRY
, "Suspend expiry : $0", "s"),
216 msg(QM_INVALIDDOMAIN
, "$0 is not a valid domain.", "s"),
217 msg(QM_SHORT_COMMENT
, "Staff comment: $0", "s"),
218 msg(QM_CHANLEV_SUSPENDREASON
, "Suspended: $0", "s"),
219 msg(QM_CHANLEV_SUSPENDSINCE
, "Suspended since: $0", "T"),
220 msg(QM_CHANLEV_SUSPENDBY
, "Suspended by: $0", "s"),
221 msg(QM_TRUNCATED
, "Warning: list truncated to $0 items.", "d"),
222 msg(QM_WHOIS_PASSSET
, "Pass last set : $0", "T"),
223 msg(QM_TICKETEXPIRED
, "Sorry, you've taken too long to log in (ticket has expired).", ""),
224 msg(QM_TICKETNOTYETVALID
, "The supplied login credentials are not valid (ticket not yet valid).", ""),
225 msg(QM_CONFIGURATIONERROR
, "Configuration error, contact an IRC Operator.", ""),
226 msg(QM_INVALIDHMAC
, "The supplied login credentials are not valid (bad HMAC).", ""),
227 msg(QM_PASSEMAILCHANGED
, "Auth failed: account password has been changed since you logged in.", ""),
228 msg(QM_REASONREQUIRED
, "Supply a decent reason.", ""),
229 msg(QM_BYPASSINGSUSPEND
,"NOTE: $0 is suspended, bypassing suspension.", "s"),
230 msg(QM_ACHIEVEMENTUNLOCKED
,"ACHIEVEMENT UNLOCKED: [$1] $0","sd"),
231 msg(QM_ACHIEVEMENTLISTHEADER
,"User $0 has unlocked the following achievements:","s"),
232 msg(QM_ACHIEVEMENTLISTMEHEADER
,"You have unlocked the following achievements:",""),
233 msg(QM_ACHIEVEMENTLISTEND
,"End of list ($0 total achievement points).","d"),
234 msg(QM_NOACHIEVEMENTS
,"User $0 does not have any achievements yet.","s"),
235 msg(QM_ACHIEVEMENTCOMPARETIE
,"End of list. It's a tie!",""),
236 msg(QM_ACHIEVEMENTCOMPARERESULT
,"End of list. User $0 is ahead by $1 points!", "sd"),
237 msg(QM_FEATOFSTRENGTHUNLOCKED
,"FEAT OF STRENGTH: $0", "s"),
238 msg(QM_ACHCHANNELHEADER
,"Achievement points for users on $0:\n # Nick Username Points","s"),
239 msg(QM_TITLEUNLOCKED
,"TITLE UNLOCKED: $0", "s"),
240 msg(QM_NOTITLES
,"You have not unlocked any titles.",""),
241 msg(QM_TITLEHEADER
,"Available titles:\n # Title",""),
242 msg(QM_INVALIDTITLE
,"Invalid title ID.",""),
243 msg(QM_TITLETOOFAST
,"You have already changed your title recently. Please wait a while and try again.",""),
244 msg(QM_INACTIVEACCOUNT
,"This account has not yet been activated.",""),