forked from CraftIRC/3
-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.yml
399 lines (325 loc) · 15.6 KB
/
config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
#######################################
#### CraftIRC 3 configuration file ####
#######################################
# Welcome, new user! Please read carefully:
# CraftIRC is a very powerful and flexible tool for all your communication needs. Being fully customizable, it TAKES SOME TIME TO SET UP.
# Please set aside half an hour to READ THIS FILE CAREFULLY and configure everything according to your needs.
# If you don't follow these instructions, CraftIRC will NOT WORK PROPERLY! Pay special attention to sections marked as [CHANGES REQUIRED]
# The CraftIRC developers can be found on #craftirc in irc.esper.net . Read the topic on arrival. If you have a specific issue you need
# help with and we are around, we will help. BUT WE WILL NOT SET UP CRAFTIRC FOR YOU. If you don't want to/can't do this yourself, try
# asking a friend or maybe if you're really lucky a user in #craftirc is feeling generous ;)
# Recommendations: http://instantyaml.appspot.com/ (the output doesn't matter, just see if there are errors) ; save as UTF-8 ; use a text
# editor with YAML syntax highlighting to make the file more readable.
# ******************* MISCELLANEOUS SETTINGS *******************
settings:
#These tags identify built-in endpoints (for the paths: section). Other endpoints may be provided by plugins.
#Tag names must be unique, otherwise the endpoint won't work. An empty tag disables the endpoint, too.
minecraft-tag: 'minecraft' #A basic game-side endpoint. You probably don't want to change this.
cancelled-tag: '' #Cancelled chat is sent here. Give this tag a name to handle messages cancelled by a chat plugin.
console-tag: 'console' #The minecraft server console. Handles /say and .cmd.
#Automatically establish paths between unsecured communication endpoints. Turn off if you always want to configure every path manually.
auto-paths: true
# If set, this character will be inserted after each character ("abc" -> "a_b_c_") to prevent IRC highlights
# The default value, "\u200B", is the unicode zero width space. "\x0f" (irc formatting reset code) might work too.
# Double quotes are important in yaml when using character escapes like these!
# anti-highlight: "\u200B"
#Paths between endpoints within the same group are not established. These groups will be created automatically (set to '' to disable):
#*For the three endpoints above
minecraft-group-name: 'minecraft'
#*For all your IRC endpoints
irc-group-name: 'irc'
#Here you can define custom tag groups.
tag-groups:
# group-name:
# - tagname
# - ...
#Set this to true to have CraftIRC cancel all minecraft chat if no other plugin is doing it.
cancel-chat: false
# If true, any messages appearing to anyone in minecraft chat will be logged by the tag of the endpoint they came from
log: true
#Output a LOT of crap to the console in case you're having problems or are a plugin developer.
debug: false
#IRC commands start with this, for example '.players' (it's not part of the command name though)
command-prefix: '.'
#Use different words for IRC commands. This won't add additional irc commands, only aliases for the existing ones.
irc-commands:
say: ['say','mc']
players: ['players']
cmd: ['cmd','c']
#Set these to true to send the replies of these commands privately
private-commands:
players: false
cmd: false
#Console commands that can be called by an admin using .cmd/.c
#This is restricted to:
# - Any irc channel when admin is enabled in default-attributes
# - For manual paths: irc to console paths with admin attribute
# - IRC users matching admin-prefixes in the bot section below (usually channel OPs or owners)
#Use '*' to enable all commands. Use with care only if you understand the restrictions above.
console-commands: ['reload', 'save-all']
#Delay before allowing these event types to be relayed (prevent startup flood)
hold-after-enable: {chat: 0, joins: 0, quits: 0, kicks: 0, bans: 0}
#How long in seconds before attempting a reconnect/rejoin when a connection/join fails.
retry-delay: 10
#Bind to a specific IP address in your server. If you're not sure what this means, don't set it.
#bind-address: 127.0.0.1
#Default formatting templates used in all messages. Plugins may require you to add more.
formatting:
#### VARIABLES AND COLORS (from colormap): %name% (as in %message% or %yellow%). Different events provide different variables.
#### IRC FORMATTING: %b% %u% %r% %o% %k% %kNUM% (NUM is 0 to 15); Do the same as CTRL+key in mIRC (%o% uses'foreground')
#==========Classic formatting==========
from-game:
chat: '(%sender%) %message%'
private: '(%sender%) %message%'
action: '* %sender% %message%'
join: '[%sender% connected]'
quit: '[%sender% disconnected]'
kick: '[%sender% was KICKED (%message%)]'
admin: '%sender% to online admins ->- %message%'
generic: '%message%'
command-reply: '%message%'
say: '[Server] %message%'
death: '%message%'
players-list: 'Online (%playerCount%/%maxPlayers%): %message%'
players-nobody: 'Nobody is minecrafting right now.'
achievement: '%sender% earned achievement %green%[%message%]'
from-irc:
chat: '[%srcChannel%] <%sender%> %message%'
private: '%sender% whispers> %message%'
action: '[%srcChannel%] * %sender% %message%'
join: '[%srcChannel%] * Joins: %sender%'
part: '[%srcChannel%] * Parts: %sender%'
quit: '[%srcChannel%] * Quits: %sender% (%message%)'
kick: '[%srcChannel%] * %sender% was kicked by %moderator% (%message%)'
nick: '[%srcChannel%] * %sender% is now known as %message%'
notice: '[%srcChannel%] [NOTICE %sender%] %message%'
generic: '%message%'
mode: '[%srcChannel%] * %moderator% sets mode %message%'
from-plain:
action: '* %sender% %message%'
say: '[Server] %message%'
generic: '%message%'
#======================================
#==========Colorful formatting=========
#from-game:
# chat: '<%prefix%%sender%%suffix%%o%> %message%'
# private: '%prefix%%sender%%suffix%%o% whispers> %message%'
# action: '%purple%* %prefix%%sender%%suffix%%purple% %message%'
# join: '%darkgrey%[%sender% connected]'
# quit: '%darkgrey%[%sender% disconnected]'
# kick: '%red%[%sender% was KICKED (%message%)]'
# admin: '%prefix%%sender%%suffix% to online admins> %message%'
# generic: '%darkgrey%%message%'
# say: '%magenta%[Server] %message%'
# death: '%red%%message%'
# players-list: 'Online (%playerCount%/%maxPlayers%): %message%'
# players-nobody: 'Nobody is minecrafting right now.'
#from-irc:
# chat: '%grey%[%srcChannel%]%foreground% <%ircPrefix%%sender%> %message%'
# private: '%grey%[IRC]%foreground% %sender% whispers> %message%'
# action: '%grey%[%srcChannel%]%purple% * %ircPrefix%%sender% %message%'
# join: '%grey%[%srcChannel%]%darkgreen% * Joins: %sender%'
# part: '%grey%[%srcChannel%]%darkgreen% * Parts: %sender%'
# quit: '%grey%[%srcChannel%]%blue% * Quits: %sender%'
# kick: '%grey%[%srcChannel%]%darkgreen% * %sender% was kicked by %ircModPrefix%%moderator%'
# nick: '%grey%[%srcChannel%]%darkgreen% * %sender% is now known as %message%'
# notice: '%grey%[%srcChannel%]%foreground% [%purple%NOTICE%foreground% %ircPrefix%%sender%] %message%'
# generic: '%grey%%message%'
# mode: '%grey%[%srcChannel%]%darkgreen% * %moderator% sets mode %message%'
#from-plain:
# action: '%purple%* %sender%%purple% %message%'
# say: '%magenta%[Server] %message%'
# generic: '%darkgrey%%message%'
#======================================
# ******************* IRC BOTS/SERVERS AND CHANNELS ******************* [CHANGES REQUIRED]
# Every bot connects to one IRC server and can contain any amount of channels.
# Every channel is a communication endpoint.
bots:
- nickname: 'CraftIRCbot'
server: 'localhost' # Change this to the IRC server you wish to connect to
port: 6667
userident: 'bot' #Username/ident, anything you want
serverpass: '' #This isn't the nickserv password
ssl: false
encoding: 'UTF-8'
#Prevent flood by setting a delay (in ms) between messages to IRC and a maximum queue size.
message-delay: 1000
queue-size: 5
#Who's considered an admin within a channel?
admin-prefixes: ['@', '%']
#Ignore a user by nickname in this server. For greater flexibility use path filters (see further below).
ignored-users: []
#If the bot's nickname is registered, put the authentication info here.
auth:
method: 'nickserv' #Available methods: 'none', 'nickserv', 'gamesurge', 'quakenet'
username: ''
password: ''
delay: 1000 # Milliseconds to wait after authenticating before joining channels.
#Send raw IRC commands to the server every time I connect.
on-connect:
# - 'PRIVMSG MyBoss :I live again!'
## Channels for this bot to join. ##
channels:
- name: '#changeme'
password: ''
#Identifies this channel's endpoint (for the paths: section).
#If you set this to '' (empty) or an already existing tag, the channel won't work!
tag: 'changeme'
#Send raw IRC commands to the server every time I join this channel.
on-join:
# - 'PRIVMSG #changeme :Howdy do!'
# Ignore the +c mode and try sending colors anyway if there are colors in a message
force-colors: false
#- name: '#anotherchannel'
# ...
#Define here alternative display names for users of your IRC channels (useful if you want anonymous admins).
#To override these in a formatting string use %realSender%.
irc-nickname-map:
# Animosity: Ytisomina
#Set this to true if you only want the above nicknames to be able to communicate from IRC. Everyone else will be filtered.
use-map-as-whitelist: false
#- nickname: 'AnotherBot'
# ...
# ******************* COMMUNICATION PATHS *******************
# (For most uses, only needed if settings.auto-paths is false. Skip this section otherwise.)
# Declare here a path for every pair of endpoints between which you want messages to flow.
# For each path you can filter the messages sent by event type or contents.
# Paths are one-way, so you must declare A to B and B to A if you want a two-way channel.
paths:
#- source: 'minecraft'
# target: 'changeme'
#- source: 'changeme' # These are endpoint tags
# target: 'minecraft' #
#
# #Every path can contain a list of filters that block any matched messages.
# #To replace instead of blocking, see the replacement filters section below.
# filters:
# #Each filter contains regular expressions for formatting variables. This one ignores commands (.TEXT)
# - message: '^\.[^ ]+'
# #Slightly more advanced example, ignores specific messages from a specific user.
# - sender: '^Lain.*$'
# message: "\x0312Automsg\x0304"
#
# #Every path can override the formatting strings defined in settings.formatting .
# formatting:
# # chat: '[%srcChannel%] <%sender%> %message%'
# # join: '[%srcChannel%] * Joins: %sender%'
#
# #Every path can override the attributes block from default-attributes (see below).
# attributes:
# # admin: false
# # ...
#
# #A path can inherit missing attributes from another existing path rather than from default-attributes.
# #base: {source: 'minecraft', target: 'changeme'}
#
# #The disable flag allows you to disable a path temporarily without removing it from the configuration file.
# disable: false
#- source: 'somewhere'
# target: 'elsewhere'
# ...
# ******************* DEFAULT PATH ATTRIBUTES ******************* [CHANGES REQUIRED]
# If an attribute isn't defined in a path, these are used.
# If an attribute isn't defined here either, it defaults to 'false'.
default-attributes:
#Disables all communication paths. No message will be sent anywhere.
#If you don't set this to false, CraftIRC may not work!
disable: true
#Every event type (they're the same as the names in settings.formatting) can be enabled or disabled here.
#In addition, commands (such as those handled by other plugins) may require you to define extra attributes.
attributes:
chat: true
action: true
join: true
part: true
nick: true
quit: true
kick: true
private: true
command: true
say: true
generic: true
death: true
achievement: true
mode: false
notice: false
#Admin commands and /admins! can only be sent through a path where admin is set to true
admin: false
#True: Colors will be converted. False: Colors will be stripped.
colors: true
# List of event types that should be sent as NOTICE on irc
notices:
admin: true
private: true
# ******************* COLOR CONVERSION MAP *******************
# Here you can assign 3-tuples with names, IRC colors and Minecraft colors.
# You must never repeat a name, an irc color or a minecraft color in more than one 3-tuple.
# Use %colorname% in a formatting string to have the correct color show up in the message.
colormap:
- {irc: 0, game: "\u00A70", name: 'background'}
- {irc: 2, game: "\u00A71", name: 'navy'}
- {irc: 3, game: "\u00A72", name: 'darkgreen'}
- {irc: 10, game: "\u00A73", name: 'teal'}
- {irc: 5, game: "\u00A74", name: 'maroon'}
- {irc: 6, game: "\u00A75", name: 'purple'}
- {irc: 7, game: "\u00A76", name: 'orange'}
- {irc: 15, game: "\u00A77", name: 'grey'}
- {irc: 14, game: "\u00A78", name: 'darkgrey'}
- {irc: 12, game: "\u00A79", name: 'blue'}
- {irc: 9, game: "\u00A7a", name: 'green'}
- {irc: 11, game: "\u00A7b", name: 'cyan'}
- {irc: 4, game: "\u00A7c", name: 'red'}
- {irc: 13, game: "\u00A7d", name: 'magenta'}
- {irc: 8, game: "\u00A7e", name: 'yellow'}
- {irc: 1, game: "\u00A7f", name: 'foreground'}
- {irc: -1, game: "\u00A7r", name: 'reset'}
# ******************* REPLACEMENT FILTERS *******************
# This section allows you to set up find and replace rules on
# every section of every message sent by CraftIRC.
# If you want to delete messages instead you should use the path filters, above.
# Each filter contains regular expressions for formatting variables.
# For example, you can change the prefix of IRC Channel Operators to something
# different by executing a replacement on the %ircPrefix% variable.
# filters:
# ircPrefix: ['@' : 'Op ']
# Or you could censor IP addresses to and from chat.
# filters:
# message: ['(\d+\.){3}\d+' : '#.#.#.#']
# When writing searches, the following characters have special meanings:
# ^ $ . + ? * { } [ ] ( )
# If you want to use these characters normally, escape them with a backslash \.
# When writing the replacement, make sure you escape any $ or \ characters
# with an additional \ unless you want to use backreferences.
# Example: Changing emoticon ^_^ to $_$
# filters:
# message: ['\^_\^' : '\$_\$']
# To delete a search, use an empty replacement, or none at all.
# This example shows two ways of deleting. The searches are xxx and yyy.
# filters:
# message: [xxx, yyy : '']
# Remember that any list can be written in two ways.
# filters:
# prefix: ['mod' : 'Mod', 'adm' : 'Admin']
# is equivalent to
# filters:
# prefix:
# - 'mod' : 'Mod'
# - 'adm' : 'Admin'
filters:
command: []
source: []
target: []
prefix: []
suffix: []
sender: []
realSender: []
message: []
moderator: []
world: []
# IRC only variables:
ircPrefix: []
realModerator: []
ircModPrefix: []
modUsername: []
modHostname: []
srcChannel: []