Commit Graph

351 Commits (5aa111e469e928002f6f4d0f524b5aa0491cdd92)

Author SHA1 Message Date
Dragory ab501871ec
Add thread number to logs 2020-11-01 23:28:05 +02:00
Dragory 7a9bcc5b95
Add pinThreadHeader option 2020-11-01 23:26:38 +02:00
Dragory a5279feb18
Allow overriding mentionRole in threads.createNewThreadForUser() opts 2020-11-01 22:59:54 +02:00
Dragory dd4640bfff
Add autoAlert/autoAlertDelay options 2020-11-01 22:51:05 +02:00
Dragory 53dc6edb6a
Update plugin API docs 2020-11-01 22:17:21 +02:00
Dragory 4d5aaaf99d
Link thread channel if logs are not available but the thread is open when using !log 2020-11-01 21:50:29 +02:00
Dragory b15e0e955c
Add Thread#thread_number to jsdoc 2020-11-01 21:47:08 +02:00
Dragory 6e19575ca4
New alias for !log: !thread 2020-11-01 21:46:01 +02:00
Dragory 02daa367f8
Allow using thread number in !log 2020-11-01 21:45:06 +02:00
Dragory 280fad36f7
Add thread numbers 2020-11-01 21:41:03 +02:00
Dragory f6825376c0
Unify mentionRole parsing 2020-11-01 21:01:42 +02:00
Dragory a8580e1ef8
Fix 'new thread' message being shown in thread header when mentionRole is disabled 2020-11-01 20:58:06 +02:00
Dragory 91d07dda8a
Allow 'off' to disable mentionRole 2020-11-01 20:56:35 +02:00
Gugu72 8e69385389
Fix snippet took as language identifier (#491)
Added a new line so it doesn't take snippet as language identifier.
Without this new line, if the first line of the snippet contains only one word (if it doesn't have at least 1 space character), the first line is taken as a language identifier, unknown in most cases.
Just added `\n` to avoid using snippet as a language identifier.
2020-11-01 20:38:58 +02:00
Dragory ec95b52615
Fix inline snippets only working once per reply 2020-10-27 21:15:54 +02:00
Dragory 8801143861
Fix local attachments 2020-10-27 19:55:00 +02:00
Dragory fa84fa6034
Fix thread channel being deleted before the close message is sent 2020-10-27 18:27:30 +02:00
Dragory 1df7ba3e64
Tweak bot/system user message visibility in threads 2020-10-27 18:26:39 +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 c761802ddd
Fix attachments missing from logs 2020-10-27 18:11:31 +02:00
Dragory b2e473de5a
SYSTEM -> BOT 2020-10-25 04:54:59 +02:00
Dragory b3f7d094a8
Rephrase [SYSTEM TO USER] to the bot's name instead in the thread channel 2020-10-25 04:54:21 +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 4663886629
Also handle error 1001 gracefully 2020-10-25 03:52:27 +02:00
Dragory 4decd42294
Handle ECONNRESET errors gracefully as well 2020-10-25 03:49:40 +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 48777b7733
Remove unused constant 2020-10-22 00:53:54 +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 371c49981c
Fix missing -v/-s options for !loglink, add same options for !logs 2020-10-22 00:40:04 +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 ddb759f6ae
Add !s as an alias for !snippets 2020-10-21 22:21:46 +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 ccd56a1d88
Handle error 1006 (Connection reset by peer) gracefully 2020-10-21 21:41:38 +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