Commit Graph

120 Commits (c58ebf56985db1b95a1296f645add21817a70590)

Author SHA1 Message Date
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