diff --git a/CHANGELOG.md b/CHANGELOG.md index 41c689b..9e95683 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## v2.17.0 +* Add `mentionUserInThreadHeader` option. When set to `true`, mentions the thread's user in the thread header. Fixes #152. +* Add `botMentionResponse` option. If set, the bot auto-responds to bot mentions with this message. Fixes #143. +* Fix member info sometimes missing in thread header. Thanks @Akhawais (#136)! +* Add support for role and user IDs in inboxServerPermission instead of just permission names +* Allow specifying multiple values (an array) for inboxServerPermission. Members will be considered "staff" if they pass any of the values. +* Update Eris to 0.9.0, Knex to 0.15.2 +* Add support for sending anonymous snippets. By default, you can do this by using `!!!` instead of `!!`. Fixes #82. +* Add `snippetPrefixAnon` option +* Add `allowUserClose` option. When set to `true`, users can use the close command to close threads by themselves. +* Fix `allowMove` missing from README. Thanks @AndreasGassmann (#126)! + ## v2.16.0 * Add support for a .js config file (export config with `module.exports`) diff --git a/README.md b/README.md index 36b05ab..2a2c041 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ See [CHANGELOG.md](CHANGELOG.md) `!block` Blocks the user from using modmail `!unblock` Unblocks the user from using modmail `!!shortcut` Reply with a snippet. Replace `shortcut` with the snippet's actual shortcut. +`!!!shortcut` Reply with a snippet anonymously. Replace `shortcut` with the snippet's actual shortcut. `!move ` If `allowMove` is enabled, moves the thread channel to the specified category `!loglink` Shows the link to the current thread's log `!suspend` Suspend a thread. The thread will act as closed and not receive any messages until unsuspended. @@ -59,33 +60,38 @@ These go in `config.json`. See also `config.example.json`. |Option|Default|Description| |------|-------|-----------| -|token|None|**Required!** The bot user's token| -|mailGuildId|None|**Required!** The inbox server's ID| -|logChannelId|None|**Required!** Channel where to post log links to closed threads and other alerts| -|mainGuildId|None|ID (or array of IDs) of the main server where people contact the bot from. Used for displaying users' nicknames and join dates, and catching bot pings.| -|prefix|"!"|Prefix for bot commands| -|status|"Message me for help"|The bot's "Playing" text| -|responseMessage|"Thank you for your message! Our mod team will reply to you here as soon as possible."|The bot's response to DMs that start a new thread| -|closeMessage|None|The bot's message to the user when the thread is closed| -|alwaysReply|false|If set to true, all messages in modmail threads will be relayed back to the user, even ones without `!r`| +|**token**|None|**Required!** The bot user's token| +|**logChannelId**|None|**Required!** Channel where to post log links to closed threads and other alerts| +|**mailGuildId**|None|**Required!** The inbox server's ID| +|**mainGuildId**|None|**Required!** ID (or array of IDs) of the main server where people contact the bot from. Used for displaying users' nicknames and join dates, and catching bot pings.| +|accountAgeDeniedMessage|"Your Discord account is not old enough to contact modmail."|See `requiredAccountAge` above| +|allowMove|false|If enabled, allows you to move the thread to another category using `!move `| +|allowUserClose|false|If set to true, users can use the close command to close threads by themselves from their DMs with the bot| |alwaysReplyAnon|false|If `alwaysReply` is set to true, this option controls whether the auto-reply is anonymous| -|useNicknames|false|If set to true, mod replies will use their nickname (on the inbox server) instead of their username| -|ignoreAccidentalThreads|false|If set to true, the bot attempts to ignore common "accidental" messages that would start a new thread, such as "ok", "thanks", etc.| +|alwaysReply|false|If set to true, all messages in modmail threads will be relayed back to the user, even ones without `!r`| +|botMentionResponse|None|If set, the bot auto-responds to bot mentions with this message| +|botMentionResponse|None|If set, the bot auto-responds to mentions with this message| +|closeMessage|None|The bot's message to the user when the thread is closed| |enableGreeting|false|Set to true to send a welcome message to new main guild members. Requires `mainGuildId` to be set.| -|greetingMessage|None|Text content of the welcome message| |greetingAttachment|None|Path to an image or other attachment to send along with the greeting| -|port|8890|Port from which to serve attachments and logs| -|url|None|URL to use for attachment and log links. Defaults to `IP:PORT`| -|snippetPrefix|"!!"|Prefix to use snippets. Defaults to `prefix` x2.| +|greetingMessage|None|Text content of the welcome message| +|ignoreAccidentalThreads|false|If set to true, the bot attempts to ignore common "accidental" messages that would start a new thread, such as "ok", "thanks", etc.| |inboxServerPermission|None|Permission required to use bot commands on the inbox server| +|mentionRole|"here"|Role that is mentioned when new threads are created or the bot is mentioned. Accepted values are "here", "everyone", or a role id as a string. Set to null to disable these pings entirely.| +|mentionUserInThreadHeader|false|If set to true, mentions the thread's user in the thread header| |newThreadCategoryId|None|ID of the category where new modmail thread channels should be placed| +|pingOnBotMention|true|If enabled, the bot will mention staff (see mentionRole above) on the inbox server when the bot is mentioned on the main server.| +|port|8890|Port from which to serve attachments and logs| +|prefix|"!"|Prefix for bot commands| |relaySmallAttachmentsAsAttachments|false|Whether to relay small attachments from users as native attachments rather than links in modmail threads| +|requiredAccountAge|None|Required account age for contacting modmail (in hours). If the account is not old enough, a new thread will not be created and the bot will reply with `accountAgeDeniedMessage` (if set) instead.| +|responseMessage|"Thank you for your message! Our mod team will reply to you here as soon as possible."|The bot's response to DMs that start a new thread| |smallAttachmentLimit|2097152|Size limit of `relaySmallAttachmentsAsAttachments`, in bytes (default is 2MB)| +|snippetPrefix|"!!"|Prefix to use snippets| +|snippetPrefixAnon|"!!!"|Prefix to use snippets anonymously| +|status|"Message me for help"|The bot's "Playing" text| |threadTimestamps|false|Whether to show custom timestamps in threads, in addition to Discord's own timestamps. Logs always have accurate timestamps, regardless of this setting.| |typingProxy|false|If enabled, any time a user is typing to modmail in their DMs, the modmail thread will show the bot as "typing"| |typingProxyReverse|false|If enabled, any time a moderator is typing in a modmail thread, the user will see the bot "typing" in their DMs| -|mentionRole|"here"|Role that is mentioned when new threads are created or the bot is mentioned. Accepted values are "here", "everyone", or a role id as a string. Set to null to disable these pings entirely.| -|pingOnBotMention|true|If enabled, the bot will mention staff (see mentionRole above) on the inbox server when the bot is mentioned on the main server.| -|requiredAccountAge|None|Required account age for contacting modmail (in hours). If the account is not old enough, a new thread will not be created and the bot will reply with `accountAgeDeniedMessage` (if set) instead.| -|accountAgeDeniedMessage|"Your Discord account is not old enough to contact modmail."|See `requiredAccountAge` above| -|allowMove|false|If enabled, allows you to move the thread to another category using `!move `| +|url|None|URL to use for attachment and log links. Defaults to `IP:PORT`| +|useNicknames|false|If set to true, mod replies will use their nickname (on the inbox server) instead of their username|