Dragory
7196e690a2
For 'original' attachments, always use the attachment link from the DMs, even in staff replies
2020-10-27 18:11:59 +02:00
Dragory
11629bb6cb
Fix thread info header rendering in logs
2020-10-25 04:32:44 +02:00
Dragory
012a819242
Send response message after creating thread
...
This way the response message is shown in the right order
in the created thread.
2020-10-25 04:27:12 +02:00
Dragory
fec963715c
Fix error when sending out moderator reply errors
...
Yo dawg.
2020-10-25 03:40:55 +02:00
Dragory
620ab79f71
Add basic sticker receiving support
...
No support for moderator replies with stickers.
If a user sends the bot a sticker, the thread will show
that sticker's name. Not all stickers can be linked to directly
(as they're not all regular images), so this feels like the
best compromise.
2020-10-22 01:37:34 +03:00
Dragory
d05672a2dc
Expose the display roles module to plugins
2020-10-22 00:53:13 +03:00
Dragory
f4ced372ba
Fix SQL syntax error when using snippets
2020-10-22 00:47:59 +03:00
Dragory
bbca6a873f
Allow setting a default display role
...
Same command as for threads, !role, but used outside a thread.
2020-10-22 00:17:14 +03:00
Dragory
2d13f88ccc
Add `fallbackRoleName` option. Don't include "Moderator" in role-less anonymous replies unless `fallbackRoleName` is set.
2020-10-21 23:24:45 +03:00
Dragory
0e2135943f
Add !role command to change the role displayed in your replies
2020-10-21 23:15:41 +03:00
Dragory
5815157190
Refuse to send replies with an unknown inline snippet
...
This behavior can be disabled by setting the following option:
errorOnUnknownInlineSnippet = off
2020-10-21 22:33:17 +03:00
Dragory
3e44416077
Only consider single words as inline snippets
...
Optionally surrounded by whitespace.
This mirrors the restrictions on !!snippets.
2020-10-21 22:30:41 +03:00
Dragory
9a88a6ef89
Fix multiple inline snippets breaking
2020-10-21 22:26:43 +03:00
Dragory
db40c39dfa
Snippets are now case-insensitive everywhere
2020-10-21 22:21:04 +03:00
Dragory
90dd35194c
Add support for inline snippets. Fixes #464
2020-10-21 22:07:35 +03:00
Dragory
012bd5b9b2
Fix faulty chunking for received user messages
...
The chunks now properly handle code blocks and prefer to split
at a newline rather than arbitrarily within the text.
2020-10-21 21:36:50 +03:00
Dragory
0a98b5cb49
Don't remove !edit command if it fails
2020-10-21 21:29:20 +03:00
Dragory
4ecea31fd8
Fix 'undefined' message numbers
2020-10-21 21:28:06 +03:00
Dragory
d5ea95d9e9
Limit replies to fit within one message
...
This applies to both the DM to be sent to the user, and the message
created in the thread channel.
This is because edits (via !edit) could change the amount of messages
a reply takes (based on message formatting), leading to either being
unable to post the full edit if it goes over the message limits, or
having to edit a previous message to be 'empty' if the result of the
edit would take fewer messages to post than the original reply.
This also fixes an issue where !edit/!delete would not apply to more
than the first message created by a reply - whether in user DMs or in
the thread channel.
2020-10-21 21:09:50 +03:00
Dragory
42f6e79df8
Remove faulty message chunking logic in user DMs
...
The logic could cause things like code blocks get cut in the middle
without being handled gracefully. With this change, messages sent
to the user can take, at most, 1 message. This does not affect
messages in the thread channel.
2020-10-21 21:01:40 +03:00
Dragory
192fec6952
Fix rounding in thread messages that only contain an ID
...
Internally, the thread_messages table's body column's type was
undefined in sqlite. This is because it was set to mediumtext, but
sqlite doesn't have that type. Because of that, sqlite treated the
column as a numeric column. Sqlite also allows storing text data in
numeric columns (because reasons), so in most cases everything worked
fine. It was only when storing an actual number, like an ID, that it
was also *treated* as a number. And since snowflake IDs are larger
than the maximum safe integer in JavaScript, the stored ID could get
rounded when retrieving data from the database.
2020-10-19 01:50:12 +03:00
Dragory
5b0f9d31b7
Create new message types for staff reply edits/deletions
...
This has backwards-compatibility-breaking changes to the formatters
of staff reply edits/deletions, which now only receive the
thread message for the edit/deletion with the original data in
the thread message's metadata.
2020-10-12 20:54:54 +03:00
Dragory
5de750bc3e
Add metadata field for thread messages
2020-10-12 20:53:53 +03:00
Dragory
f9671c385d
Add formatters for system messages
...
This has backwards-compatibility-breaking changes to the signature
of thread.postSystemMessage() and thread.sendSystemMessageToUser().
2020-10-12 20:33:49 +03:00
Dragory
a3c1ed0a28
Include DM message in beforeNewThread hook data. Allow specifying categoryId in createNewThreadForUser().
2020-10-12 19:59:47 +03:00
Dragory
aadda31069
Add metadata field for threads
...
Useful for e.g. storing plugin-specific data about a thread.
2020-10-12 19:57:39 +03:00
Dragory
0d2202d38c
Allow log storage handlers to store data. Add shouldSave() function to log storage handlers.
2020-10-03 16:10:27 +03:00
Dragory
3a7f7ffc90
Add support for alternative log storage types
2020-09-23 03:16:26 +03:00
Dragory
a7e863da6a
Move migration files within src
...
This means that the db folder no longer contains any code required
for the bot to run.
2020-09-23 02:34:40 +03:00
Dragory
f5b6e46040
Add afterThreadClose plugin hook
2020-09-23 02:28:41 +03:00
Dragory
0c9302b41b
Add statusType option
2020-09-23 00:58:18 +03:00
Dragory
180f936bc4
Update config jsdoc
2020-09-23 00:26:36 +03:00
Dragory
171ad403d9
Add updateNotificationsForBetaVersions option
2020-09-23 00:25:50 +03:00
Dragory
f46d719f4c
Code clean-up
2020-09-23 00:21:44 +03:00
Nils
96e8eae188
Fully functioning built-in plugin to send system messages on join/leave ( #437 )
...
Co-authored-by: Miikka <2606411+Dragory@users.noreply.github.com>
2020-09-23 00:19:34 +03:00
funkyhippo
3af5a67c1b
Added anonymizeChannelName configuration option.
2020-09-23 00:17:31 +03:00
Dragory
8d151c1800
Fix null values in entity getSQLProps()
...
Fixes 'null' role name when staff member has no hoisted roles
2020-09-22 23:47:04 +03:00
Dragory
581b09a8ae
Fix thread header ping not working, utilize allowed_mentions
2020-08-21 05:13:24 +03:00
Dragory
fdabf65882
Fix thread alert_id being limited to 20 chars on MySQL
2020-08-18 22:43:08 +03:00
Dragory
883d8adf93
Fix crash when a user sends an attachment
...
Also added an eslint rule to catch similar errors caused by shadowed
variables in the future.
2020-08-17 11:26:06 +03:00
Dragory
958db5135d
Use releases instead of tags in update check, ignore prereleases/drafts
2020-08-17 02:07:03 +03:00
Dragory
4fbf2a1769
Rename guildGreetings to serverGreetings
...
The original name (guildGreetings) is now an alias for the new option
name, so old configs will still work after this change.
2020-08-17 01:21:07 +03:00
Dragory
900a14d8a1
Rename categoryAutomation.newThreadFromGuild to categoryAutomation.newThreadFromServer
...
The original name (categoryAutomation.newThreadFromGuild) is now
an alias for the new option name, so old configs still work after
this change.
2020-08-17 01:04:05 +03:00
Dragory
c177be8920
Fix categoryAutomation type
2020-08-17 00:55:18 +03:00
Dragory
099b5f9616
Enable !edit and !delete by default
2020-08-17 00:55:05 +03:00
Dragory
be7f172b62
Rename mainGuildId to mainServerId, mailGuildId to inboxServerId
...
The original names (mainGuildId, mailGuildId) are now aliases for
the new option names, so old configs still work after this change.
2020-08-16 23:53:35 +03:00
Dragory
d5219556a7
Add full JSDocs for the plugin API
2020-08-16 23:26:04 +03:00
Dragory
034a9172c4
Update config JSDoc
2020-08-16 19:22:50 +03:00
Dragory
cb6a9c2703
Merge #373
2020-08-16 18:58:25 +03:00
Dragory
7a671eab1f
Ignore errors from adding a reaction with reactOnSeen
2020-08-16 18:45:11 +03:00