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
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
|
bot:
prefix: "!"
token: !ENV "BOT_TOKEN"
cooldowns:
# Per channel, per tag.
tags: 60
clean:
# Maximum number of messages to traverse for clean commands
message_limit: 10000
style:
colours:
soft_red: 0xcd6d6d
soft_green: 0x68c290
soft_orange: 0xf9cb54
emojis:
defcon_disabled: "<:defcondisabled:470326273952972810>"
defcon_enabled: "<:defconenabled:470326274213150730>"
defcon_updated: "<:defconsettingsupdated:470326274082996224>"
status_online: "<:status_online:470326272351010816>"
status_idle: "<:status_idle:470326266625785866>"
status_dnd: "<:status_dnd:470326272082313216>"
status_offline: "<:status_offline:470326266537705472>"
failmail: "<:failmail:633660039931887616>"
trashcan: "<:trashcan:637136429717389331>"
bullet: "\u2022"
pencil: "\u270F"
new: "\U0001F195"
cross_mark: "\u274C"
ducky_yellow: &DUCKY_YELLOW 574951975574175744
ducky_blurple: &DUCKY_BLURPLE 574951975310065675
ducky_regal: &DUCKY_REGAL 637883439185395712
ducky_camo: &DUCKY_CAMO 637914731566596096
ducky_ninja: &DUCKY_NINJA 637923502535606293
ducky_devil: &DUCKY_DEVIL 637925314982576139
ducky_tube: &DUCKY_TUBE 637881368008851456
ducky_hunt: &DUCKY_HUNT 639355090909528084
ducky_wizard: &DUCKY_WIZARD 639355996954689536
ducky_party: &DUCKY_PARTY 639468753440210977
ducky_angel: &DUCKY_ANGEL 640121935610511361
ducky_maul: &DUCKY_MAUL 640137724958867467
ducky_santa: &DUCKY_SANTA 655360331002019870
upvotes: "<:upvotes:638729835245731840>"
comments: "<:comments:638729835073765387>"
user: "<:user:638729835442602003>"
icons:
crown_blurple: "https://cdn.discordapp.com/emojis/469964153289965568.png"
crown_green: "https://cdn.discordapp.com/emojis/469964154719961088.png"
crown_red: "https://cdn.discordapp.com/emojis/469964154879344640.png"
defcon_denied: "https://cdn.discordapp.com/emojis/472475292078964738.png"
defcon_disabled: "https://cdn.discordapp.com/emojis/470326273952972810.png"
defcon_enabled: "https://cdn.discordapp.com/emojis/470326274213150730.png"
defcon_updated: "https://cdn.discordapp.com/emojis/472472638342561793.png"
filtering: "https://cdn.discordapp.com/emojis/472472638594482195.png"
guild_update: "https://cdn.discordapp.com/emojis/469954765141442561.png"
hash_blurple: "https://cdn.discordapp.com/emojis/469950142942806017.png"
hash_green: "https://cdn.discordapp.com/emojis/469950144918585344.png"
hash_red: "https://cdn.discordapp.com/emojis/469950145413251072.png"
message_bulk_delete: "https://cdn.discordapp.com/emojis/469952898994929668.png"
message_delete: "https://cdn.discordapp.com/emojis/472472641320648704.png"
message_edit: "https://cdn.discordapp.com/emojis/472472638976163870.png"
sign_in: "https://cdn.discordapp.com/emojis/469952898181234698.png"
sign_out: "https://cdn.discordapp.com/emojis/469952898089091082.png"
token_removed: "https://cdn.discordapp.com/emojis/470326273298792469.png"
user_ban: "https://cdn.discordapp.com/emojis/469952898026045441.png"
user_unban: "https://cdn.discordapp.com/emojis/469952898692808704.png"
user_update: "https://cdn.discordapp.com/emojis/469952898684551168.png"
user_mute: "https://cdn.discordapp.com/emojis/472472640100106250.png"
user_unmute: "https://cdn.discordapp.com/emojis/472472639206719508.png"
user_verified: "https://cdn.discordapp.com/emojis/470326274519334936.png"
user_warn: "https://cdn.discordapp.com/emojis/470326274238447633.png"
pencil: "https://cdn.discordapp.com/emojis/470326272401211415.png"
remind_blurple: "https://cdn.discordapp.com/emojis/477907609215827968.png"
remind_green: "https://cdn.discordapp.com/emojis/477907607785570310.png"
remind_red: "https://cdn.discordapp.com/emojis/477907608057937930.png"
questionmark: "https://cdn.discordapp.com/emojis/512367613339369475.png"
superstarify: "https://cdn.discordapp.com/emojis/636288153044516874.png"
unsuperstarify: "https://cdn.discordapp.com/emojis/636288201258172446.png"
voice_state_blue: "https://cdn.discordapp.com/emojis/656899769662439456.png"
voice_state_green: "https://cdn.discordapp.com/emojis/656899770094452754.png"
voice_state_red: "https://cdn.discordapp.com/emojis/656899769905709076.png"
guild:
id: 267624335836053506
categories:
python_help: 356013061213126657
channels:
admins: &ADMINS 365960823622991872
admin_spam: &ADMIN_SPAM 563594791770914816
admins_voice: &ADMINS_VOICE 500734494840717332
announcements: 354619224620138496
attachment_log: &ATTCH_LOG 649243850006855680
big_brother_logs: &BBLOGS 468507907357409333
bot: 267659945086812160
checkpoint_test: 422077681434099723
defcon: &DEFCON 464469101889454091
devlog: &DEVLOG 622895325144940554
devtest: &DEVTEST 414574275865870337
esoteric: 470884583684964352
help_0: 303906576991780866
help_1: 303906556754395136
help_2: 303906514266226689
help_3: 439702951246692352
help_4: 451312046647148554
help_5: 454941769734422538
help_6: 587375753306570782
help_7: 587375768556797982
helpers: &HELPERS 385474242440986624
message_log: &MESSAGE_LOG 467752170159079424
meta: 429409067623251969
mod_spam: &MOD_SPAM 620607373828030464
mods: &MODS 305126844661760000
mod_alerts: 473092532147060736
modlog: &MODLOG 282638479504965634
off_topic_0: 291284109232308226
off_topic_1: 463035241142026251
off_topic_2: 463035268514185226
organisation: &ORGANISATION 551789653284356126
python: 267624335836053506
reddit: 458224812528238616
staff_lounge: &STAFF_LOUNGE 464905259261755392
staff_voice: &STAFF_VOICE 412375055910043655
talent_pool: &TALENT_POOL 534321732593647616
userlog: 528976905546760203
user_event_a: &USER_EVENT_A 592000283102674944
verification: 352442727016693763
voice_log: 640292421988646961
staff_channels: [*ADMINS, *ADMIN_SPAM, *MOD_SPAM, *MODS, *HELPERS, *ORGANISATION, *DEFCON]
ignored: [*ADMINS, *MESSAGE_LOG, *MODLOG, *ADMINS_VOICE, *STAFF_VOICE, *ATTCH_LOG]
roles:
admin: &ADMIN_ROLE 267628507062992896
announcements: 463658397560995840
champion: 430492892331769857
contributor: 295488872404484098
core_developer: 587606783669829632
helpers: 267630620367257601
jammer: 591786436651646989
moderator: &MOD_ROLE 267629731250176001
muted: &MUTED_ROLE 277914926603829249
owner: &OWNER_ROLE 267627879762755584
partners: 323426753857191936
rockstars: &ROCKSTARS_ROLE 458226413825294336
team_leader: 501324292341104650
verified: 352427296948486144
webhooks:
talent_pool: 569145364800602132
big_brother: 569133704568373283
reddit: 635408384794951680
duck_pond: 637821475327311927
filter:
# What do we filter?
filter_zalgo: false
filter_invites: true
filter_domains: true
watch_rich_embeds: true
watch_words: true
watch_tokens: true
# Notify user on filter?
# Notifications are not expected for "watchlist" type filters
notify_user_zalgo: false
notify_user_invites: true
notify_user_domains: false
# Filter configuration
ping_everyone: true # Ping @everyone when we send a mod-alert?
guild_invite_whitelist:
- 280033776820813825 # Functional Programming
- 267624335836053506 # Python Discord
- 440186186024222721 # Python Discord: ModLog Emojis
- 273944235143593984 # STEM
- 348658686962696195 # RLBot
- 531221516914917387 # Pallets
- 249111029668249601 # Gentoo
- 327254708534116352 # Adafruit
- 544525886180032552 # kennethreitz.org
- 590806733924859943 # Discord Hack Week
- 423249981340778496 # Kivy
- 197038439483310086 # Discord Testers
- 286633898581164032 # Ren'Py
- 349505959032389632 # PyGame
- 438622377094414346 # Pyglet
- 524691714909274162 # Panda3D
- 336642139381301249 # discord.py
domain_blacklist:
- pornhub.com
- liveleak.com
word_watchlist:
- goo+ks*
- ky+s+
- ki+ke+s*
- beaner+s?
- coo+ns*
- nig+lets*
- slant-eyes*
- towe?l-?head+s*
- chi*n+k+s*
- spick*s*
- kill* +(?:yo)?urself+
- jew+s*
- suicide
- rape
- (re+)tar+(d+|t+)(ed)?
- ta+r+d+
- cunts*
- trann*y
- shemale
token_watchlist:
- fa+g+s*
- 卐
- 卍
- cuck(?!oo+)
- nigg+(?:e*r+|a+h*?|u+h+)s?
- fag+o+t+s*
# Censor doesn't apply to these
channel_whitelist:
- *ADMINS
- *MODLOG
- *MESSAGE_LOG
- *DEVLOG
- *BBLOGS
- *STAFF_LOUNGE
- *DEVTEST
- *TALENT_POOL
- *USER_EVENT_A
role_whitelist:
- *ADMIN_ROLE
- *MOD_ROLE
- *OWNER_ROLE
- *ROCKSTARS_ROLE
keys:
site_api: !ENV "BOT_API_KEY"
urls:
# PyDis site vars
site: &DOMAIN "pythondiscord.com"
site_api: &API !JOIN ["api.", *DOMAIN]
site_paste: &PASTE !JOIN ["paste.", *DOMAIN]
site_staff: &STAFF !JOIN ["staff.", *DOMAIN]
site_schema: &SCHEMA "https://"
site_bigbrother_api: !JOIN [*SCHEMA, *API, "/bot/bigbrother"]
site_docs_api: !JOIN [*SCHEMA, *API, "/bot/docs"]
site_superstarify_api: !JOIN [*SCHEMA, *API, "/bot/superstarify"]
site_infractions: !JOIN [*SCHEMA, *API, "/bot/infractions"]
site_infractions_user: !JOIN [*SCHEMA, *API, "/bot/infractions/user/{user_id}"]
site_infractions_type: !JOIN [*SCHEMA, *API, "/bot/infractions/type/{infraction_type}"]
site_infractions_by_id: !JOIN [*SCHEMA, *API, "/bot/infractions/id/{infraction_id}"]
site_infractions_user_type_current: !JOIN [*SCHEMA, *API, "/bot/infractions/user/{user_id}/{infraction_type}/current"]
site_infractions_user_type: !JOIN [*SCHEMA, *API, "/bot/infractions/user/{user_id}/{infraction_type}"]
site_logs_api: !JOIN [*SCHEMA, *API, "/bot/logs"]
site_logs_view: !JOIN [*SCHEMA, *STAFF, "/bot/logs"]
site_off_topic_names_api: !JOIN [*SCHEMA, *API, "/bot/off-topic-names"]
site_reminders_api: !JOIN [*SCHEMA, *API, "/bot/reminders"]
site_reminders_user_api: !JOIN [*SCHEMA, *API, "/bot/reminders/user"]
site_settings_api: !JOIN [*SCHEMA, *API, "/bot/settings"]
site_tags_api: !JOIN [*SCHEMA, *API, "/bot/tags"]
site_user_api: !JOIN [*SCHEMA, *API, "/bot/users"]
site_user_complete_api: !JOIN [*SCHEMA, *API, "/bot/users/complete"]
paste_service: !JOIN [*SCHEMA, *PASTE, "/{key}"]
# Snekbox
snekbox_eval_api: "https://snekbox.pythondiscord.com/eval"
# Discord API URLs
discord_api: &DISCORD_API "https://discordapp.com/api/v7/"
discord_invite_api: !JOIN [*DISCORD_API, "invites"]
# Misc URLs
bot_avatar: "https://raw.githubusercontent.com/discord-python/branding/master/logos/logo_circle/logo_circle.png"
github_bot_repo: "https://github.com/python-discord/bot"
anti_spam:
# Clean messages that violate a rule.
clean_offending: true
ping_everyone: true
punishment:
role_id: *MUTED_ROLE
remove_after: 600
rules:
attachments:
interval: 10
max: 9
burst:
interval: 10
max: 7
burst_shared:
interval: 10
max: 20
chars:
interval: 5
max: 3_000
duplicates:
interval: 10
max: 3
discord_emojis:
interval: 10
max: 20
links:
interval: 10
max: 10
mentions:
interval: 10
max: 5
newlines:
interval: 10
max: 100
max_consecutive: 10
role_mentions:
interval: 10
max: 3
anti_malware:
whitelist:
- '.3gp'
- '.3g2'
- '.avi'
- '.bmp'
- '.gif'
- '.h264'
- '.jpg'
- '.jpeg'
- '.m4v'
- '.mkv'
- '.mov'
- '.mp4'
- '.mpeg'
- '.mpg'
- '.png'
- '.tiff'
- '.wmv'
- '.svg'
- '.psd' # Photoshop
- '.ai' # Illustrator
- '.aep' # After Effects
- '.xcf' # GIMP
- '.mp3'
- '.wav'
- '.ogg'
- '.md'
reddit:
subreddits:
- 'r/Python'
client_id: !ENV "REDDIT_CLIENT_ID"
secret: !ENV "REDDIT_SECRET"
wolfram:
# Max requests per day.
user_limit_day: 10
guild_limit_day: 67
key: !ENV "WOLFRAM_API_KEY"
big_brother:
log_delay: 15
header_message_limit: 15
free:
# Seconds to elapse for a channel
# to be considered inactive.
activity_timeout: 600
cooldown_rate: 1
cooldown_per: 60.0
mention:
message_timeout: 300
reset_delay: 5
redirect_output:
delete_invocation: true
delete_delay: 15
duck_pond:
threshold: 5
custom_emojis: [*DUCKY_YELLOW, *DUCKY_BLURPLE, *DUCKY_CAMO, *DUCKY_DEVIL, *DUCKY_NINJA, *DUCKY_REGAL, *DUCKY_TUBE, *DUCKY_HUNT, *DUCKY_WIZARD, *DUCKY_PARTY, *DUCKY_ANGEL, *DUCKY_MAUL, *DUCKY_SANTA]
config:
required_keys: ['bot.token']
|