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
78a1cc34be
threadOnMention -> createThreadOnMention
2020-08-16 18:36:51 +03:00
Dragory
e0aa3a73ae
Merge #397
2020-08-16 18:34:51 +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
538a14338c
Update mysqlOptions schema
2020-08-14 01:01:40 +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
98b8a05d5c
Remove several deprecated config options
2020-08-13 03:32:04 +03:00
Dragory
ab6b84e6de
Add official MySQL support. Simplify database options.
2020-08-13 03:31:48 +03:00
Dragory
6d16daea0d
Add new attachment storage option: "original"
2020-08-13 02:36:15 +03:00
Dragory
b30e615200
Use gateway intents, add extraIntents config option
2020-08-13 00:23:59 +03:00
Dragory
86a060410f
Apply code style from .eslintrc
2020-08-13 00:08:37 +03:00
Dragory
bd8dcc6129
Fixes and tweaks to new config validation
2020-08-13 00:03:01 +03:00
Dragory
f7b8a312f9
Coerce arrays of strings to arrays automatically
2020-08-12 23:24:17 +03:00
Dragory
d03903ce80
Move beforeNewThread hook after validations, fix a couple bugs
2020-08-12 23:19:11 +03:00
Dragory
468d1fc037
Use JSON Schema via AJV for config schema + validation
2020-08-12 23:18:42 +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
3723bf788b
Add 'source' to beforeNewThread hooks, call hooks in threads.createNewThreadForUser()
2020-07-15 23:50:30 +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
Dragory
3c0352ff09
Add support for hooks. Add beforeNewThread hook. Allow overriding new thread category id in createNewThreadForUser().
2020-07-14 00:13:32 +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
c76d422768
Fix error when sending system messages to the user
2020-05-25 11:52:31 +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
Dark
c41f7a0978
Change to comma separated list
2020-02-18 01:22:00 +01:00
Dark
949a5efdb2
Allow multiple users to do !alert without overriding each other
2020-02-17 20:04:43 +01:00
Brayzure
dcd80aabda
Fix certain auto-reply errors
2020-01-20 23:20:56 +02:00
Dragory
e572523808
Revert some accidental changes from #319
2020-01-19 21:33:46 +02:00
Dragory
d5f8839446
Merge branch 'master' of github.com:Dragory/modmailbot
2020-01-19 21:32:42 +02:00
Robert Klebes
7bec58cd1c
Add direct link to message onBotMention ( #319 )
2020-01-19 21:31:29 +02:00
Dragory
00fe240eb0
Expand multi-line .ini value support
...
The following options now also support multi-line values:
- responseMessage
- closeMessage
- botMentionResponse
- greetingMessage
- accountAgeDeniedMessage
- timeOnServerDeniedMessage
2020-01-19 21:25:10 +02:00
Dragory
d625e527d6
Fix crash in update checker if package.json's repository value is set to a repository without releases
2019-12-05 20:24:39 +02:00
Dragory
20b46811c0
Slight wording changes in README. Use Modmail instead of ModMail consistently.
2019-12-03 02:47:46 +02:00
Dragory
518bf93f6f
Fix incompatibility with Node.js 10 versions prior to 10.9.0
2019-12-03 02:06:44 +02:00
Dragory
2ea858daac
Move plugin loading to its own file. Define plugin API more explicitly.
2019-09-18 02:15:22 +03:00
Dragory
0f61966d4e
Add support for adding attachment storage types in plugins
2019-09-18 01:52:16 +03:00
Dragory
5244cce31c
Fix local attachments when temp dir and bot dir are on different drives
2019-09-18 01:34:17 +03:00
Dragory
86529ae50c
Don't hardcode repo URL for update check user agent
2019-06-09 20:32:52 +03:00
Dragory
1259669c9d
Add support for timed blocks. Add !is_blocked.
2019-06-09 20:04:40 +03:00
Dragory
b9133da4da
Add update notifications
2019-06-09 17:31:17 +03:00
Dragory
eb2f109301
Add rolesInThreadHeader config option
2019-06-09 16:04:17 +03:00
Dragory
ae3f3920e3
Ignore account age/time on server requirements when using !newthread
2019-04-15 19:26:14 +03:00
Dragory
22e03d2335
Rename requiredJoinedAt -> requiredTimeOnServer, add support for multiple main guilds for that setting
2019-04-15 19:06:59 +03:00
santiago
f2808c0b04
Add requirement for joinedAt
2019-04-15 10:43:22 -03:00
Dragory
2a20d9fdaa
Escape markdown in user nickname and some other places
2019-03-28 05:03:47 +02:00
Dragory
3d077cb252
Add current voice channel to thread header
2019-03-28 04:57:21 +02:00
Dragory
073f3a87ea
Add categoryAutomation config option and make newThreadCategoryId a shortcut for the newThread sub-option. Add support for per-guild categories via categoryAutomation.
2019-03-28 04:54:12 +02:00
Dragory
3cc566e6b0
Re-fetch member info from the API if we can't find a user on a main guild
2019-03-28 04:29:40 +02:00
Dragory
a470b72016
Add attachmentStorage option
2019-03-06 23:31:24 +02:00
Dragory
688ab7ceea
Add support for scheduled !suspend
2019-03-06 21:37:36 +02:00
Dragory
188f7543ee
Allow silent scheduled closes. Make close time format stricter (no whitespace).
2019-03-06 21:15:09 +02:00
Dragory
5e1a1e7e15
Add 'silent' option to !close when closeMessage is specified
2019-02-23 23:32:18 +02:00
Dragory
86bc6fd809
Only delete the reply command if the bot was able to send the reply
2019-02-23 22:55:26 +02:00
Dragory
21d2a7453c
Add allowUserClose option. Fixes #69
2018-09-20 23:31:14 +03:00
Dragory
2f1b51d97a
Add support for sending anonymous snippets. Add snippetPrefixAnon option. Fixes #82
2018-09-20 22:54:47 +03:00
Dragory
68af488663
Add mentionUserInThreadHeader option. Fixes #152
2018-09-20 22:03:51 +03:00
Dragory
c7c0ee4e9a
Change requiredAccountAge to use hours instead of days
2018-07-27 20:35:37 +03:00
Dragory
1aa4abd62e
Rename account age options
2018-07-27 19:48:45 +03:00
Jonas Pardon
9c1a5863f5
Add option for minimum account age for contacting modmail
...
Saw this on the to-do list and decided to give it a shot. Tested and works without issues for me. I advise testing yourself before merging, there's always a chance I missed something since your code is quite extended to work through.
2018-07-10 11:59:29 +02:00
Dragory
54e9fbd597
Chunk long messages so they don't fail to send
2018-05-03 20:33:19 +03:00
Dragory
1d2f3dd4d8
Fix crash when the auto-response cannot be sent. Add pingOnBotMention option for controlling whether the staff get pinged for bot mentions.
2018-05-03 20:26:12 +03:00
Miikka
685ccdd226
Always show multi-server header when using multiple servers
...
Previously, if the user was on only one server, the server name would not be shown in the thread header.
2018-05-03 19:37:50 +03:00
Dragory
5e1b5112a2
Add !alert
...
Using !alert in a modmail thread will ping you the next time the thread
gets a new reply. Use !alert cancel to cancel.
2018-04-21 16:39:38 +03:00
Dragory
e5b29a235e
Add multi-server support and more thread header information
...
Fixes #63 . Multi-server support allows you to set an array of ids in
mainGuildId. If there are more than 1 main guild, the thread header will
display nickname and join date for each main guild the user is in.
Thread header information now also includes how long it's been since the
user joined the guild(s).
The commit also includes some minor code cleanup.
2018-04-21 15:38:21 +03:00
Dragory
4305609f0b
Add !newthread
2018-04-08 02:56:30 +03:00
Dragory
ab3d70008a
Move more code from main.js to individual module files. Rename plugins -> modules. Remove some obsolete comments.
2018-03-13 07:45:31 +02:00
Dragory
434dab59ee
Fix some inconsistencies between DB drivers, also fixing scheduled closes on MySQL/MariaDB (again)
2018-03-13 06:23:32 +02:00
Dragory
07c0336f72
Also add that fix to the third place where it's needed
2018-03-11 23:20:59 +02:00
Dragory
2251cabe86
Additional fix for scheduling in MySQL/MariaDB
2018-03-11 23:19:45 +02:00
Dragory
119faf1d37
Commands used in threads are now saved again. Refactor some of the code into plugins.
2018-03-11 23:17:14 +02:00
Dragory
38bb553588
Scheduling fix for MySQL/MariaDB version 3000
2018-03-11 22:48:53 +02:00
Dragory
0b677d338e
Actually fix scheduled closing on MySQL/MariaDB
2018-03-11 22:42:40 +02:00
Dragory
40e420a40d
Fix scheduled closing on MySQL/MariaDB
2018-03-11 22:36:52 +02:00
Dragory
b8a5021dd5
Add thread suspending
2018-03-11 22:27:52 +02:00
Dragory
dc44bdc103
Remove duplicate definition of threads.findById
2018-03-11 22:15:29 +02:00
Dragory
6767cd91f7
Change option in #59 to mentionRole, and extend functionality
...
The option now defaults to "here", and also accepts "everyone" as a value.
Can be set to null to disable these mentions entirely.
2018-03-11 21:55:47 +02:00
Dragory
4089e836d4
Merge branch 'master' of https://github.com/HaydenMeloche/modmailbot into pull59-master
2018-03-11 21:42:17 +02:00
Dragory
751b18a12d
Add scheduled thread closing
...
A thread can be scheduled to be closed by adding a time parameter to
the !close command. For example, !close 2m would automatically close
the thread in 2 minutes. The actual scheduling is implemented with a
loop that runs every 2 seconds, checking for threads that should be
closed.
2018-03-11 21:32:14 +02:00
HaydenMeloche
92508c7e3f
Added user configurable mentions
2018-03-06 18:40:38 -05:00
Dragory
3f99cbd948
Fix merge conflicts
2018-02-24 23:16:28 +02:00
Dragory
b2a102f82a
A link to the current thread is no longer posted at the beginning of the thread
2018-02-24 13:14:40 +02:00
Dragory
48bbd8cfe1
Fix bug when updating thread messages
2018-02-19 00:55:01 +02:00
Dragory
adce3e0cbb
Fix missing here ping on new threads. Add threadTimestamps option to revert removal of thread timestamps.
2018-02-18 23:29:24 +02:00
Dragory
8a77bf1849
Disable small attachment relaying by default, add option for it
2018-02-18 20:06:24 +02:00
Dragory
32c22f4d46
Relay small attachments as attachments. Auto-close threads if the channel no longer exists when receiving a reply.
2018-02-14 08:53:48 +02:00
Dragory
ad7aa66c99
Continue rewrite. Modularize greeting, snippet, and web server functionality.
2018-02-11 21:54:30 +02:00
Dragory
bb6d8e5dbf
Refactor large parts of the bot
2018-01-01 02:16:05 +02:00
Dragory
58f35c87da
Start work on moving data to an SQLite database. Add a migrator for legacy data.
2017-12-24 22:04:08 +02:00