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
Miikka Virtanen
f22330338b
greeting: send an empty string as message content for falsy values (such as null) instead
2017-07-24 02:42:26 +03:00
Miikka Virtanen
77b4ed856d
Transliterate non-ascii names for channel names properly
2017-07-24 02:41:31 +03:00
Miikka Virtanen
1dc21880e2
Clarify some code comments
2017-07-24 02:23:34 +03:00
Miikka Virtanen
3abb376397
Make commands case-insensitive
2017-07-24 02:13:04 +03:00
Miikka Virtanen
6a9e55ade0
Make edit notification prefixes the same length
...
From "Before" and "After" to "B" and "A" respectively.
Makes it easier to compare small edits.
2017-07-24 02:09:39 +03:00
Miikka Virtanen
32fa668770
Clarify the name of the exported function from greeting
2017-07-24 02:09:06 +03:00
Miikka Virtanen
887facf6a4
Even more ignored words!
2017-05-20 19:45:22 +03:00
Miikka Virtanen
75d721cca0
More ignored words!
2017-05-20 19:44:09 +03:00
Miikka Virtanen
4eec9b07a6
More ignored words...
2017-05-19 15:34:04 +03:00
Miikka Virtanen
7948f12761
More ignored words for new threads
2017-05-19 15:27:28 +03:00
Miikka Virtanen
6b26c1cb5c
Sort logs in descending order
2017-05-18 05:52:21 +03:00
Miikka Virtanen
e258bf8432
Add config option ignoreAccidentalThreads. Using this option, messages that start with 'ok', 'thanks', etc. will be ignored, as they probably shouldn't start a new thread.
2017-05-18 05:47:45 +03:00
Miikka Virtanen
ad3417c827
Add useNicknames config option to use mod nicknames in replies. Post log lists in chunks to avoid hitting the message length limit.
2017-05-18 05:28:11 +03:00
Miikka Virtanen
ab7c1e8611
Add attachment links to received messages only after the attachments have been saved. Don't show edits that result in identical messages. Post new thread notifications in the thread in question, not the main channel. Remove ping from close messages.
2017-05-18 05:20:19 +03:00
ahalekelly
71a7e55fd1
Made alwaysReply configurable
2017-05-01 09:14:28 +00:00
ahalekelly
cca19ec38e
Treat every message as a reply
2017-05-01 07:56:49 +00:00
Miikka Virtanen
7320f6bf9c
Handle it gracefully when we can't get guild member info. Indicate if this was due to the member not existing on the guild or because the endpoint didn't give us enough data.
2017-02-15 01:26:17 +02:00
Miikka Virtanen
e7ed0e5a21
Add some debug stuff
2017-02-15 01:20:56 +02:00
Miikka Virtanen
3bdd0384f4
Don't you love bugs that only show up in prod?
2017-02-15 01:19:08 +02:00
Miikka Virtanen
1a44065b61
Handle error when guild member doesn't have a user
2017-02-15 01:14:26 +02:00
Miikka Virtanen
2281d01d8c
Possibly proper fix
2017-02-15 01:10:44 +02:00
Miikka Virtanen
1f235bb806
Fix2
2017-02-15 01:04:57 +02:00
Miikka Virtanen
087fd85447
Fix
2017-02-15 01:02:45 +02:00
Miikka Virtanen
c671ab9273
Add more info at the start of modmail threads. Change greetingGuildId to a more universal mainGuildId. Start using semi-proper version numbers.
2017-02-15 00:57:53 +02:00
Miikka Virtanen
70601f1d00
Show mod username for anonymous replies in logs
2017-02-10 07:39:17 +02:00
Miikka Virtanen
513439746f
Add new user greetings
2017-02-10 07:04:23 +02:00
Miikka Virtanen
6a13724c6a
Major refactor about done
2017-02-10 06:36:47 +02:00