Commit Graph

178 Commits (8dd6513ca3b14f0169d396badf58b9add52bd96f)

Author SHA1 Message Date
Dragory d07384a01e Add botMentionResponse option. Fixes #143 2018-09-20 22:07:38 +03:00
Dragory 68af488663 Add mentionUserInThreadHeader option. Fixes #152 2018-09-20 22:03:51 +03:00
Dragory 2f04ed8359 Fix pingOnBotMention on same server setups. Fixes #134 2018-09-20 21:57:54 +03:00
Dylan Akhawais 5a760b5e50 Moving the 'getAllUsers' option into the correct parameter object 2018-08-29 02:30:12 +01:00
Dragory 2cecbc3e46 Add support for a .js config file 2018-08-08 01:32:22 +03:00
Dragory 55367665e8 Update mime node-mime to 2.3.1 2018-08-08 01:10:38 +03:00
Dragory b7673b7544 Add smallAttachmentLimit config option to control the size limit of relaySmallAttachmentsAsAttachments 2018-08-08 00:59:02 +03:00
Dragory 7e7bd03798 Fix crash if the close message failed to send when closing a thread 2018-08-08 00:55:03 +03:00
Dragory ff977b3eea Gracefully handle web server errors 2018-08-08 00:54:01 +03:00
Dragory 6b8a409ff4 Don't alert for main server pings if the pinger is a bot 2018-08-01 00:40:12 +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
Jonas Pardon 6f327b7456 Added an optional close message
You can assign a value to closeMessage to make the bot DM people when their thread gets closed.
2018-07-05 18:34:12 +02:00
Dragory 445659d592 Fix greetings not being sent after 2.9.0
Greetings broke when multi-server support was added.
This commit fixes that.
2018-05-14 19:49:15 +03: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
Dragory cd96c70f1c Switch config parser to JSON5. Accept multiple config file names. 2018-05-03 19:55:21 +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
Miikka 777ea2dd2c
Fix crash when user edits a DM after the thread is closed 2018-05-03 14:22:38 +03:00
Miikka 82a89b6e86
modules.move: slightly prioritize categories that start with the search string 2018-04-25 02:25:49 +03:00
Miikka d6793d5c12
modules.move: fix !move ignoring the last letter of the category name 2018-04-25 02:21:24 +03:00
Dragory e5588d7c83 Use minutes as the default unit for timed close
Before, doing !close 30 would close the thread in 30 seconds. Now it
will be closed in 30 minutes.
2018-04-21 16:44:03 +03:00
Dragory a839372cfe You can now use !close c as an alias for !close cancel 2018-04-21 16:42:35 +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 3911d92edc Display source guild in bot mention notifications
Only when using multiple main guilds.
2018-04-21 15:54:41 +03:00
Dragory 319f6571bc Add !id
The !id command returns the user ID of the current thread. Useful for
getting the user ID on mobile.
2018-04-21 15:41:03 +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 1fc32f71d0 Fix #67: errors from privacy settings are now ignored with greetings 2018-04-21 14:31:58 +03:00
Dragory 4305609f0b Add !newthread 2018-04-08 02:56:30 +03:00
Dragory 9c322a5af3 Add !version command 2018-03-13 07:59:27 +02: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 5717bf83fd Make !close time parser stricter and allow 'd' for days. Format close time better in the confirmation message. Add additional start-up info for missing dependencies. 2018-03-13 07:27:59 +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 91bb245b59 Don't start scheduled close loop until after connecting to Discord 2018-03-11 22:45:43 +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 32260fd22c Auto-close threads if their inbox server channel is deleted 2018-03-11 22:15:16 +02:00
Dragory dcd9d94734 Fix incorrect mentionRole default 2018-03-11 22:08:59 +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 eea540b0fb Use moment.utc() over moment() since we're currently always dealing with UTC times 2018-03-11 21:34:41 +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 f2bfb7d8c9 Merge branch 'experimental' of github.com:Dragory/modmailbot into experimental 2018-02-24 13:03:02 +02:00
Dragory 5ab65a701e Save username + blocked by id with !block 2018-02-24 13:02:54 +02:00
Dragory 3e2954f4e3 legacyMigrator: set blocked_by in migrated blocks to null 2018-02-24 12:58:20 +02:00
Dragory c865eb9d56 legacyMigrator: don't consider log migration if the logs folder is empty 2018-02-24 12:46:02 +02:00
Miikka bd33606384
Fix accidental message checking not being case-insensitive 2018-02-20 12:57:34 +02:00
Dragory 1fa4975e18 Some extra checks for special messageUpdate and messageDelete cases 2018-02-19 02:03:53 +02:00
Dragory 48bbd8cfe1 Fix bug when updating thread messages 2018-02-19 00:55:01 +02:00
Dragory c2a7ae6fa3 legacyMigrator: ahem, one more fix 2018-02-19 00:52:47 +02:00
Dragory 8b4f33f199 legacyMigrator: one more fix for that 2018-02-19 00:50:55 +02:00
Dragory 8a1b8802b3 legacyMigrator: possible fix for last commit 2018-02-19 00:49:44 +02:00
Dragory a76a675f4c legacyMigrator: fix open legacy threads having no message logs 2018-02-19 00:46:15 +02:00
Dragory 87a2c885f8 Add !loglink command 2018-02-19 00:45:56 +02:00
Dragory b9678d08dd Add !move command 2018-02-19 00:23:29 +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 92ac21aa33 Fix ignoreAccidentalMessages not working. Fix another weird error with message edits. 2018-02-18 22:52:37 +02:00
Dragory 0a9f26eaff Fix crash with message edits between bot restarts 2018-02-18 22:30:10 +02:00
Dragory e0bd96e959 Logs are posted in the log channel again 2018-02-18 21:21:03 +02:00
Dragory ce6c0da0e2 Fix sorting in !logs 2018-02-18 21:09:52 +02:00
Dragory 6233e53fe4 Fix incorrect permission check 2018-02-18 21:07:26 +02:00
Dragory 2bb4aec249 legacyMigrator: fix duplicate blocked users sometimes breaking migration (race condition) 2018-02-18 21:05:38 +02:00
Dragory f1af3d7314 legacyMigrator: add a progress indicator for log migrations 2018-02-18 20:35:07 +02:00
Dragory a668818421 legacyMigrator: hopefully fix timeout when there are lots of log files to migrate 2018-02-18 20:22:06 +02:00
Dragory 8a77bf1849 Disable small attachment relaying by default, add option for it 2018-02-18 20:06:24 +02:00
Dragory 43d80f5912 Clarify legacy data migration instructions 2018-02-18 20:06:04 +02:00
Dragory ce8624e130 Show logs in reverse order again 2018-02-18 19:43:32 +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
judge2020 26c468d5fb
Add error handling for getDMChannel 2018-01-22 17:34:12 -05:00
judge2020 c306479d8a
Remove unnecessary comment 2018-01-22 17:18:15 -05:00
judge2020 036885144e
Impliment typing proxy 2018-01-22 17:17:24 -05: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
Miikka Virtanen b2d9c93f43 Add newThreadCategoryId option 2017-09-22 22:18:15 +03:00
Miikka Virtanen ccb6f7345b Fix addidental error when a thread was not returned but no errors were thrown 2017-09-20 23:06:19 +03:00
Miikka Virtanen 21b5400576 Don't display full stack traces for network errors
They pointed to Eris internals anyway, and are pretty unreadable.
2017-09-20 09:46:11 +03:00
Miikka Virtanen 8426e7b170 fix: don't continue forwarding a DM if the thread could not be created 2017-09-20 09:41:54 +03:00
Miikka Virtanen ebb4ad23d7 Remove cruft left behind by the recent refactoring 2017-09-19 21:33:17 +03:00
Miikka Virtanen 893bfb091e Set greeting defaults to null 2017-09-19 21:32:48 +03:00
Miikka Virtanen b934f8eb25 Code refactoring and clean-up 2017-09-19 20:23:55 +03:00
Miikka Virtanen ddff708ff5 Add 'logChannelId' config option 2017-09-19 17:38:37 +03:00
Miikka Virtanen d0bad2d6b3 Hotfix #2 2017-08-03 22:03:39 +03:00
Miikka Virtanen c330caf249 Hotfix 2017-08-03 22:00:34 +03:00
Miikka Virtanen 4963ba6a39 Fix user nicknames. Don't require manageRoles permission by default anymore (moved to config). 2017-08-03 21:50:41 +03:00
Miikka Virtanen 3b33cde517 Possible fix for 'NOT ON SERVER' 2017-08-03 21:32:16 +03:00
Miikka Virtanen 094f490357 Add !edit_snippet for editing snippets. Add !snippets to list all available snippets. 2017-07-24 03:54:03 +03:00
Miikka Virtanen 779655d3df snippets: when showing snippet info, make the command more visible 2017-07-24 03:30:47 +03:00
Miikka Virtanen c121754800 Add snippets 2017-07-24 03:27:21 +03:00
Miikka Virtanen d4aa7d5fe4 Make edit notif prefixes monospace 2017-07-24 02:44:15 +03:00