Dragory
1210b2acaa
Fix postSystemMessage() text not being chunked
...
This would cause errors if the system message was over
2000 characters in length.
2020-11-02 17:25:59 +02:00
Dragory
7a9bcc5b95
Add pinThreadHeader option
2020-11-01 23:26:38 +02:00
Dragory
dd4640bfff
Add autoAlert/autoAlertDelay options
2020-11-01 22:51:05 +02:00
Dragory
b15e0e955c
Add Thread#thread_number to jsdoc
2020-11-01 21:47:08 +02:00
Dragory
ec95b52615
Fix inline snippets only working once per reply
2020-10-27 21:15:54 +02:00
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
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
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
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
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
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
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
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
f5b6e46040
Add afterThreadClose plugin hook
2020-09-23 02:28:41 +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
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
Dragory
51df75e641
Set dm_channel_id directly from the message object
...
Allows us to set the channel id correctly for non-DM messages,
such as mentions that create a thread with createThreadOnMention
where the initial message is forwarded to the thread.
2020-08-16 18:42:22 +03:00
Dragory
041e095950
Merge #398
2020-08-16 18:27:51 +03:00
Dragory
25998fa8a2
Show a small note if a user messages the bot with e.g. a Spotify invite
2020-08-16 18:18:32 +03:00
Dragory
a4c7b84616
Add next_message_number to threads, use it for reply numbers
2020-08-14 01:18:45 +03:00
Dragory
296d1304a7
Reproducible formatters, add full log formatter
...
Format-specific parts of replies, including the role name and
attachments, are now stored in separate columns. This allows us to
store only one version of the actual message body and, by keeping
format-specific data separate, reproduce formatter results regardless
of when they are called. This cleans up code around message formats
significantly and was required to support !edit/!delete properly.
2020-08-14 00:42:32 +03:00
Dragory
86a060410f
Apply code style from .eslintrc
2020-08-13 00:08:37 +03:00
Dragory
d03903ce80
Move beforeNewThread hook after validations, fix a couple bugs
2020-08-12 23:19:11 +03:00
Dragory
ce8ebbfc2f
Propagate staff reply edits/deletions to the DB
2020-07-19 14:28:32 +03:00
Dragory
e74363a55c
Show staff reply numbers in threads/logs
2020-07-19 14:24:24 +03:00
Dragory
4e9e347b04
Add internal support for editing/deleting staff replies
2020-07-19 14:11:38 +03:00
Dragory
6b8c7e1bdf
Rename config.js to cfg.js
...
So people don't accidentally edit the config source file rather than
their own config file.
2020-07-19 13:36:07 +03:00
Dragory
75b2920777
Use explicit parameters for Thread#postSystemMessage, Thread#sendSystemMessageToUser, Thread#postNonLogMessage
2020-07-14 01:38:35 +03:00
Dragory
ec3a2455e0
Add more safeguards when using Thread#_postToThreadChannel()
2020-07-14 01:35:26 +03:00
Dragory
662c6b0c21
Allow message formatters to return full message content objects as well as strings
2020-07-14 01:31:50 +03:00
Dragory
8a975d7da4
Add message formatters. Expose message formatters to plugins.
2020-07-14 01:11:48 +03:00
eegras@eegrasstudios.com
b566be85fe
Implement reactOnSeen
2020-06-05 13:11:56 -05:00
Dragory
1538b25ee5
Fix error when receiving a reply to a thread that has had its channel deleted
2020-06-05 17:06:15 +03:00
Dragory
5c247fc73d
Fix for error with thread message number increment on MySQL
2020-05-25 23:09:45 +03:00
Dragory
6eb9b973c0
More consistent log formatting. Store DM channel IDs and inbox message IDs with thread messages. Add !dm_channel_id. Add message numbers to the database in preparation for !edit and !delete. Some code reorganisation.
2020-05-25 01:33:10 +03:00