A Discord bot that functions as a shared inbox between staff and members, similar to Reddit's Modmail.
AGPL-3.0 License
Bot releases are hidden (Show)
Drops support for Python 3.9. Python 3.10 and Python 3.11 are now the only supported versions.
?alias make/create
as aliases to ?alias add
. This improves continuity between the bot and its command structure. (PR #3195)?blocked
command takes a long time when the list is large. (PR #3242)?log key <key>
to retrieve the log link and view a preview using a log key. (PR #3196)REGISTRY_PLUGINS_ONLY
, environment variable, when set, restricts to only allow adding registry plugins. (PR #3247)DISCORD_LOG_LEVEL
environment variable to set the log level of discord.py. (PR #3216)STREAM_LOG_FORMAT
and FILE_LOG_FORMAT
environment variable to set the log format of the stream and file handlers respectively. Possible options are json
and plain
(default). (PR #3305)LOG_EXPIRATION
environment variable to set the expiration time of logs. (PR #3257)autoreact
and rename
.-0
if the user has migrated to the new username system.?note
and ?reply
now allows you to send a sticker without any message.?disable all
no longer overrides ?disable new
. (PR #3278)Bot.log_file_name
to Bot.log_file_path
. Log files are now created at temp/logs/modmail.log
. (PR #3216)ConfigManager.get
no longer accepts two positional arguments: the convert
argument is now keyword-only.Published by fourjr about 2 years ago
Modmail v4 is out with support for discord.py v2 and a variety of miscellaneous changes.
Message Content
privileged intent.use_hoisted_top_role
config to use change how default mod tags work, see v3.10.0#Added
for details. (PR #3093)require_close_reason
config to require a reason to close a thread. (GH #3107)plain_snippets
config to force all snippets to be plain. (GH #3083)?fpareply
and ?fpreply
to reply to messages with variables plainly.use_nickname_channel_name
config to use nicknames instead of usernames for channel names. (GH #3112)use_random_channel_name
config to use random nicknames vaguely tied to user ID. It is unable to be computed in reverse. (GH #3143)show_log_url_button
config to show Log URL button. (GH #3122)Title
field in ?logs
. (GH #3142)?snippet make/create
as aliases to ?snippet add
. (GH #3172, PR #3174)?help
and ?blocked
paginator sessions now have better multi-page UI.?contact
would create in a random category in silent mode. (GH #3091, PR #3092)?close
would fail if closer isn't in cache. (GH #3104, PR #3105)?blocked
to fail. (GH #3131)cog_command_error
. (GH #3170, PR #3178)on_connect
.core/decorators.py
from v3.3.0Full Changelog: https://github.com/kyb3r/modmail/compare/v3.10.2...v4.0.0
Published by fourjr about 3 years ago
v3.10 adds group conversations while resolving other bugs and QOL changes. It is potentially breaking to some plugins that adds functionality to threads.
Thread.recipient
(str
) is now Thread.recipients
(List[str]
).Thread.reply
now returns mod_message, user_message1, user_message2
... It is no longer limited at a size 2 tuple.thread_show_roles
, thread_show_account_age
, thread_show_join_age
, thread_cancelled
, thread_creation_contact_title
, thread_creation_self_contact_response
, thread_creation_contact_response
. (GH #3072)use_timestamp_channel_name
config to create thread channels by timestamp.?contact
now accepts a role or multiple users (creates a group conversation). (GH #3082)?contact
and react to contact. (COMMENT #819004157, PR #3027)?notify
and subscribe
. (PR #3015)?contact
now works properly with both category and silent. (GH #3076)close_on_leave_reason
now works properly when close_on_leave
is enabled. (GH #3075)thread_auto_close
timer now only resets on non-note and replies from mods. (GH #3030)OWNER
permission level. This affects what can be run in autotriggers.Published by fourjr about 3 years ago
Published by fourjr over 3 years ago
?mention
can now be disabled with ?mention disable
. (PR #2993)?mention
now allows vague entries such as everyone
or all
. (PR #2993)Published by fourjr over 3 years ago
on_thread_initiate
and on_thread_ready
events now have thread, creator, category, initial_message
as additional arguments.confirm_thread_creation
now properly works when a user opens a thread using react to contact. (GH #2930, PR #2971)?disable all/new
now disables react to contact threads. (GH #2969, PR #2971)thread.reply
now returns (msg_to_user, msg_to_thread). Can be useful in plugins.Published by fourjr over 3 years ago
?msglink <message id>
, allows you to obtain channel + message ID for T&S reports. (GH #2963, PR #2964)?mention disable/reset
, disables or resets mention on thread creation. (PR #2951)Published by fourjr over 3 years ago
This update is a quick hotfix for a weird behaviour experienced on 1 Feb 2021 where users were not properly cached.
Published by fourjr over 3 years ago
This update is a quick hotfix for a weird behaviour experienced on 1 Feb 2021 where users were not properly cached.
Published by fourjr almost 4 years ago
Published by fourjr almost 4 years ago
Published by fourjr almost 4 years ago
update_notifications
configuration option to toggle bot autoupdate notifications. (GH #2896)?fareply
, anonymously reply with variables.anonymous_snippets
config variable to toggle if snippets should be anonymous. (GH #2905)disable_updates
config variable to control if the update command should be disabled or not.silent_alert_on_mention
to alert mods silently. (GH #2907)autotrigger add/edit
.GITHUB_TOKEN
is now no longer required in Heroku setups.competing
as an activity type. (PR #2902)?blocked
now no longers show blocks that have expired.confirm_thread_creation_deny
. (GH #2916)?perms get
now shows role/user names. (PR #2927)git branch --show-current
to retrieve branch instead of using prerelease version check.Published by fourjr almost 4 years ago
Published by fourjr almost 4 years ago
?block [reason]
now works in threads.Published by fourjr almost 4 years ago
Published by fourjr almost 4 years ago
update_channel_id
to specify which channel autoupdate notifications were being sent to.show_timestamp
to specify if timestamps should be displayed in message embeds. (GH #2885)Published by fourjr almost 4 years ago
Published by fourjr almost 4 years ago
thread_contact_silently
to allow opening threads silently by default. (PR #2887)perms remove
was not working.logs
and block
would not recognise users in a seperate server setup.confirm_thread_creation
.perms get
, bot should respond faster now.Published by fourjr almost 4 years ago
Published by fourjr almost 4 years ago