Commit graph

63 commits

Author SHA1 Message Date
Dragory
49577e37ca
Improve invite detection
Only a-z, 0-9, and - are now considered valid invite code characters.
Fix some unnecessary case sensitivity in the invite regexes.
2021-05-03 18:34:50 +03:00
Dragory
f2cf46e734
Add tAllowedMentions
Mirrors AllowedMentions type from Eris
2021-04-29 00:49:37 +03:00
Dragory
7e40308a8a
Add tNormalizedNullOrUndefined and tNormalizedNullOptional
tNormalizedNullOrUndefined:
io-ts type that accepts null and undefined and normalizes both to
undefined

tNormalizedNullOptional:
io-ts type that accepts the specified type or null/undefined.
if null/undefined, the value is normalized to undefined.
this allows creating optional config options that can be "removed" by
setting their value to null.
2021-04-29 00:46:24 +03:00
Dragory
4410f20562
Improve invite detection
Several less common patterns are now detected:
discord.gg/anything/here/<code>
discord.com/invite/<code>/anything/here
discordapp.com/invite/<code>/anything/here

Potential invite URLs are also parsed as URLs to clean out any
shenanigans related to valid-but-uncommon URL formats.
2021-04-28 21:12:23 +03:00
Dragory
1d0f7636c2
verboseChannelMention: don't use # for voice channels 2021-04-10 23:42:24 +03:00
Dragory
53b64682ee
Update to eris#dev 2021-04-02 19:02:20 +03:00
Nils
4584fa4e87
Add newline after ``` so single words dont get seen as language (#152) 2021-02-13 19:57:48 +02:00
Nils
f762a238de
Disable mentions in logs, allowing mods to be mentioned (#142)
Optionally you can return to old behavior by setting allow_user_mentions to true
2021-01-28 01:26:24 +02:00
Dragory
ac7935e24d
Fix muteUser() sometimes operating on stale member info 2020-12-17 03:50:02 +02:00
Dragory
4a555823fc
Fix resolveUser() returning null in contrast to its typings 2020-12-17 03:46:52 +02:00
Dragory
629002b8d9
Turn on strict TS compilation. Fix up and tweak types accordingly. 2020-11-09 20:03:57 +02:00
Dragory
dbcd5e7de2
Cap delay strings to 100 years
This is to avoid issues with max date values and other similar edge
cases. This was an issue when accidentally passing a user ID as the
time value for e.g. reminders.
2020-10-13 19:45:41 +03:00
Dragory
fde796782e
Fix crash in ReactionRoles emoji validation 2020-10-11 14:17:41 +03:00
Dragory
9dbf80ce58
Extra fix 2020-09-23 20:23:19 +03:00
Dragory
4ccf1c57d2
Fix 2020-09-23 20:19:21 +03:00
Dragory
16740c9029
Fix dash not being matched in invite codes 2020-08-27 23:11:39 +03:00
Dragory
902be16ae8
Centralize DM logic, don't attempt DMs for an hour after a 20026 error 2020-08-21 03:44:38 +03:00
Dragory
d53d518903
DM debug 2020-08-20 10:15:17 +03:00
Dragory
4ae8cf85a3
Add time_and_date plugin. Use it for timezones and date formats around the bot. 2020-08-19 00:19:12 +03:00
Dragory
131a79ffd4
Add case icons. Clean up !cases. Allow customizing case colors and icons. 2020-08-11 04:16:06 +03:00
Dragory
ad24d166ce
Ignore request timeouts when getting audit logs 2020-08-11 02:44:54 +03:00
Dragory
c67a1df11d
Add support for server-specific timezone and date format settings 2020-08-10 00:24:06 +03:00
Dragory
a641312853
resolveUser: return null if the passed value is not a valid id 2020-08-09 20:10:03 +03:00
Dragory
5215dd0738
Add !slowmode command 2020-08-09 17:28:21 +03:00
Dragory
e8ff297368
Add !message/!messageinfo command 2020-08-06 00:46:47 +03:00
Dragory
1040bf581a
Work on !invite styles 2020-08-05 20:18:30 +03:00
Dragory
024078ccdc
Add !invite utility command 2020-08-05 18:52:15 +03:00
Dragory
5ea0f7eb46
Improve audit log error handling, show BOT_ALERT in more cases 2020-08-05 02:25:13 +03:00
Dragory
f6d55f1060
ZeppelinPluginBlueprint.configSchema is now required. Validate deep partial config schema before running config preprocessor. 2020-07-30 20:10:50 +03:00
Dragory
f500034729
Port BotControl 2020-07-30 03:21:07 +03:00
Dragory
c39d69dd5d
automod: ensure actions only apply once per user/member 2020-07-29 22:58:14 +03:00
Dragory
ac714ea307
Fix case embeds breaking with notes over 1024 chars in length 2020-07-29 22:48:49 +03:00
Dragory
86023877a2
Automod actions + ModActions public interface 2020-07-28 21:34:01 +03:00
Dragory
0e9f65e0d5
Automod work vol 2 2020-07-27 21:51:03 +03:00
Dragory
1064a1ca46
Add custom logger. Fix a bunch of errors. Optimize imports. 2020-07-22 22:56:21 +03:00
Dragory
177fc40780
Various Knub 30 and type fixes 2020-07-06 02:08:11 +03:00
Dragory
954c88bee2
Port !search and !bansearch to Knub 30 2020-07-05 15:59:15 +03:00
Dragory
d62a4e26ae
Knub 30 conversion base work; Work on Utility plugin Knub 30 conversion 2020-07-05 05:00:54 +03:00
Dragory
53a9c58dd4
automod.reply: allow embeds, add auto_delete option 2020-05-22 23:38:11 +03:00
Dragory
1cff4fb801
tags: add support for embeds 2020-05-22 23:21:57 +03:00
Dragory
31d3e2b1d7
Another potential fix for Node.js 13/14 incompatibility 2020-05-08 18:29:17 +03:00
Dragory
0de53d1fb4
Possible fix for module error on Node.js 13 and 14 2020-05-08 03:13:30 +03:00
Dragory
b251942e40
discordapp.com -> discord.com 2020-05-04 21:59:20 +03:00
Dragory
4cf8c2ae92
Allow getUrlsInString() to match urls that start mid-word with a protocol 2020-04-23 18:57:31 +03:00
Dragory
b30df3f8d4
Automod: add include_words/exclude_words and include_regex/exclude_regex to match_links trigger 2020-04-11 16:56:55 +03:00
Dragory
820c9b466e
Add mass role add/remove commands. Fix UnknownUser mentions in logs. Fix unnecessary audit log reads when adding/removing roles and the log type is ignored. 2020-03-28 15:21:13 +02:00
Dragory
89f545eb62
Allow overriding user notification method for mod actions via -notify and -notify-channel. Allow setting these settings for automod actions as well. 2020-01-29 02:44:11 +02:00
Dragory
6a5e71d7c1
Tweaks to !server numbers. Try to prevent unnecessary API calls.
!server can now also use numbers from the invite of servers with
a vanity URL.

API calls for the invite and the REST guild endpoint are now memoized.

Since Guild.fetchAllMembers() now returns a promise, tweaked
refreshMembersIfNeeded() to not make unnecessary API calls if called
multiple times in rapid succession.
2020-01-21 00:24:04 +02:00
Dragory
225f4084b2 Add function for formatting large numbers 2020-01-12 16:34:33 +02:00
Dragory
fd47ba9d69 Set default success emoji to zep_check; add error_emoji support, mirroring success_emoji but for error messages 2020-01-12 13:44:31 +02:00