Modmail

A Discord bot that functions as a shared inbox between staff and members, similar to Reddit's Modmail.

AGPL-3.0 License

Stars
1.6K
Committers
61

Bot releases are hidden (Show)

Modmail - Fix close on emoji

Published by fourjr almost 4 years ago

Fixed

  • Close on emoji was not working.
Modmail - Bugfixes

Published by fourjr almost 4 years ago

Fixed

  • React to contact threads were treated like normal contact threads. (GH #2881)
Modmail - Bug fixes and further customisation in alert on mention

Published by fourjr almost 4 years ago

Added

  • Added mention_channel_id to specify which channel alert_on_mention was being sent to. (GH #2880)

Fixed

  • ?config set would not respond if an invalid key was provided.
Modmail - Small improvements to commands

Published by fourjr almost 4 years ago

Fixed

  • Bot will now leave a reaction on the react to contact message.
  • Added docstring to selfcontact
Modmail - More customisation options

Published by fourjr almost 4 years ago

Added

  • Plain replies functionality. Added commands preply, pareply and config plain_reply_without_command. (GH #2872)
  • Added react_to_contact_message, react_to_contact_emoji to allow users to create threads by reacting to a message.
  • Added thread_move_notify_mods to mention all mods again after moving thread. (GH #215)
  • Added transfer_reactions to link reactions between mods and users. (GH #2763)
  • Added close_on_leave, close_on_leave_reason to automatically close threads upon recipient leaving the server. (GH #2757)
  • Added alert_on_mention to mention mods upon a bot mention. (GH #2833)
  • Added confirm_thread_creation, confirm_thread_creation_title, confirm_thread_response, confirm_thread_creation_accept, confirm_thread_creation_deny to allow users to confirm that they indeed want to create a new thread. (GH #2773)
  • Support Gyazo image links in message embeds. (GH #282)
  • Added silent argument to ?contact to restore old behaviour.
  • Added new functionality: If ?help is sent, bot does checks on every command, ?help all restores old behaviour. (GH #2847)
  • Added a way to block roles. (GH #2753)
  • Added cooldown_thread_title, cooldown_thread_response to customise message sent when user is on a creating thread cooldown. (GH #2865)
  • Added ?selfcontact to allow users to open a thread. (GH #2762)
  • Support stickers and reject non-messages. (i.e. pin_add)
  • Added support for thread titles, ?title. (GH #2838)
  • Added data_collection to specify if bot metadata should be collected by Modmail developers.
  • Added ?autotrigger, use_regex_autotrigger config to specify keywords to trigger commands. (GH #130, GH #649)
  • Added ?note persistent that creates notes that are persistent for a user. (GH #2842, PR #2878)
  • Autoupdates and ?update which was removed in v3.0.0

Fixed

  • ?contact now sends members a DM.
  • level_permissions and command_permissions would sometimes be reset. (GH #2856)
  • Command truncated after && in alias. (GH #2870)
  • on_plugins_ready event for plugins works now.

Improved

  • Plugins installations have clearer error messages.
  • ?move now does not require exact category names, accepts case-insensitive and startswith names.

Internal

  • Use enums in config. (GH #2821)
  • on_thread_close event for plugins.
  • on_thread_reply event for plugins.
Modmail - Bug fixes to plugins

Published by fourjr almost 4 years ago

Fixed

  • Plugins downloading requirements in virtual environments
Modmail - Improved error messages upon startup

Published by fourjr almost 4 years ago

Added

  • Proper error message if privileged intents not explicitly granted to bot.
Modmail - Intents and more configuration options!

Published by fourjr almost 4 years ago

Added

  • Added thread_move_title to specify title of thread moved embed.
  • Mark NSFW logs in log message. (GH #2792)
  • Icon for moderator that closed the thread in log message. (GH #2828)
  • Ability to set mentions via user/role ID. (GH #2796)

Changed

  • ?move now consumes rest in category name, which means ?move Long Category Name works without quotes!
  • ?help shows "No command description" if no description provided. (PR #2845)

Fixed

  • Unicode errors raised during windows selfhosting

Internal

  • Bump discord.py version to 1.5.1
  • Explicitly state intents used for connection
  • Use --diff for black CI instead of --check (GH#2816)
Modmail - Fixes internal issues and tweaks

Published by fourjr almost 4 years ago

Added

  • A confirmation when you manually delete a thread message embed.
  • Config var enable_eval defaults true, set enable_eval=no to disable the eval command. (GH #2803)
  • Added ?plugins reset command to completely reset everything related to plugins. This will fix some problems caused by broken plugins in the file system.
  • Support private GitHub repos for plugins (thanks to @officialpiyush pr#2767)

Changed

  • Bump discord.py version to v1.3.3.
  • Renamed bot.owner_ids to bot.bot_owner_ids as the attribute is now defined internally for team support.
  • Deleting channel manually will now close the thread.
  • Deleting messages will no longer cause the bot to produce warnings.
  • Plugins will automatically be removed when it fails to load.
  • Moved all database-related activities to clients.py under MongoDBClient, with possible future hook for additional database support.
  • bot.db is deprecated in favour of bot.api.db and will be removed in the future.
  • Deprecated bot.plugin_db.get_partition in favour of bot.api.get_plugin_partition (not final).
  • Deprecated `MON
Modmail - Masking errors

Published by fourjr almost 4 years ago

Fixed

  • Masked a bunch of noise errors when deleting messages.
  • Added more checks for deleting messages.

Breaking

  • thread_initiate is now dispatched at the beginning of the setup process.
  • thread_create is dispatched when the thread is registered as a thread by Modmail (ie. when channel topic is edited).
  • thread_ready is dispatched when a thread finishes its setup steps.
Modmail - Stable Release

Published by Taaku18 almost 5 years ago

Added

  • Thread cooldown!
    • Set via the new config var thread_cooldown.
    • Specify a time for the recipient to wait before allowed to create another thread.
  • Fallback Category (thanks to DAzVise PR#636)
    • Automatically created upon reaching the 50 channels limit.
    • Manually set fallback category with the config var fallback_category_id.
  • "enable" and "disable" support for yes or no config vars.
  • Added "perhaps you meant" section to ?config help.
  • Multi-command alias is now more stable. With support for a single quote escape \".
  • New command ?freply, which behaves exactly like ?reply with the addition that you can substitute {channel}, {recipient}, and {author} to be their respective values.
  • New command ?repair, repair any broken Modmail thread (with help from @officialpiyush).
  • Recipient get feedback when they edit message.
  • Chained delete for DMs now comes with a message.
  • poetry (in case someone needs it).

Changed

  • The look of alias and snippet when previewing.
  • Message ID of the thread embed is saved in DB, instead of the original message.
  • Swapped the position of user and category for ?contact.
  • The log file will no longer grow infinitely large.
  • Hard limit of maximum 25 steps for alias.
  • ?disable is now ?disable new.

Fixed

  • Setting config vars using human time wasn't working.
  • Fixed some bugs with aliases.
  • Fixed a lot of issues with ?edit and ?delete and recipient message edit.
  • Masked the error: "AttributeError: 'int' object has no attribute 'name'"
    • Channel delete event will not be checked until discord.py fixes this issue.
  • Chained reaction add / remove.
  • Chained delete for thread channels.

Internal

  • Commit to black format line width max = 99, consistent with pylint.
  • Alias parser is rewritten without shlex.
  • New checks with thread create / find.
  • No more flake8 and travis.
Modmail - Dev Release

Published by Taaku18 almost 5 years ago

  • Chained delete for DMs now comes with a message.
  • poetry (in case someone needs it).

Fixed

  • Chained reaction.
  • Chained delete for thread channels.
Modmail - Bug Fix Release

Published by Taaku18 almost 5 years ago

Fixed

  • An oversight with the permission system.
Modmail - Version bump - before v3.3.2-dev5

Published by Taaku18 almost 5 years ago

nothing new

Modmail - Dev Release (v3.4.0-dev5)

Published by Taaku18 almost 5 years ago

  • New command ?freply, which behaves exactly like ?reply with the addition that you can substitute {channel}, {recipient}, and {author} to be their respective values.
  • New command ?repair, repair any broken Modmail thread (with help from @officialpiyush).
  • Recipients get feedback when they edit message.
  • Message ID of the thread embed is saved in DB, instead of the original message.
  • Fixed a lot of issues with ?edit and ?delete and recipient message edit.
  • Masked the error: "AttributeError: 'int' object has no attribute 'name'"
    • Channel delete event will not be checked until discord.py fixes this issue.
  • New checks with thread create / find.
Modmail - Dev Release (v3.4.0-dev4)

Published by Taaku18 almost 5 years ago

  • New command ?freply, which behaves exactly like ?reply with the addition that you can substitute {channel}, {recipient}, and {author} to be their respective values.
  • The look of alias and snippet when previewing.
  • Fixed some bugs with aliases.
Modmail - Dev Release (v3.4.0-dev3)

Published by Taaku18 almost 5 years ago

Added

  • Fallback Category (thanks to DAzVise PR#636)
    • Automatically created upon reaching the 50 channels limit.
    • Manually set fallback category with the config var fallback_category_id.
Modmail - Emergency Patch

Published by Taaku18 almost 5 years ago

  • Fixed a recent issue with an animation KeyError due to Discord API update.
Modmail - Dev Release (v3.4.0-dev2)

Published by Taaku18 almost 5 years ago

Added

  • Thread cooldown!
    • Set via the new config var thread_cooldown.
    • Specify a time for the recipient to wait before allowed to create another thread.

Fixed

  • Setting config vars using human time wasn't working.
Modmail - Dev Release (v3.4.0-dev1)

Published by Taaku18 almost 5 years ago

Added

  • "enable" and "disable" support for yes or no config vars.
  • Added "perhaps you meant" section to ?config help.
  • Multi-command alias is now more stable. With support for a single quote escape \".

Internal

  • Commit to black format line width max = 99, consistent with pylint.
  • Alias parser is rewritten without shlex.