Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
7960761
Fix RuntimeError when presence intent disabled.
Jerrie-Aries Sep 23, 2022
dc5c940
Merge pull request #3204 from Jerrie-Aries/issue-3203
Taaku18 Oct 3, 2022
766bbbb
Update CHANGELOG.md
Taaku18 Oct 3, 2022
03558f7
Remove hard coded "( )" from plain messages
Dec 4, 2022
cde98e9
Fix guild icon not set issue
Dec 4, 2022
ccc53ea
Update bot.py
Dec 5, 2022
c63ed9d
Merge from master, make presence intent default off
Taaku18 Dec 8, 2022
b3ce7d0
Merge pull request #3235 from Cordila/patch-6
Taaku18 Dec 8, 2022
735d326
Merge pull request #3234 from Cordila/patch-4
Taaku18 Dec 8, 2022
f0e313c
Update changelog, and use default user icon instead of user avatar, s…
Taaku18 Dec 8, 2022
bb41861
Replaced discord.BadArgument with TypeError
Taaku18 Dec 8, 2022
aed97d5
Build and Push docker image to Githubs container registry (#3228)
Saturn745 Dec 19, 2022
5ea119f
Merge branch 'master' into development
Taaku18 Dec 19, 2022
88676e5
Update docker compose, changelog, and installation guide
Taaku18 Dec 19, 2022
6c690fe
Fix black formatting
Taaku18 Dec 19, 2022
b693b27
Bump version to v4.0.2
Taaku18 Dec 19, 2022
11eef8b
Add alias make/create as an alias to alias add & add to changelog (#3…
StephenDaDev Dec 19, 2022
c8b2522
Fix silently order in help embed (#3215)
lidistat67 Dec 19, 2022
485ab5a
Remove user fetching from blocked command (#3242)
khakers Jan 21, 2023
d6eba12
Update changelog
Taaku18 Jan 21, 2023
8d41c1d
Added the option for registry_plugins_only (#3247)
sebkuip Mar 8, 2023
1f3bd0e
Update changelog and updated all the links to new repo (#3251)
Taaku18 Mar 13, 2023
960a36e
Lints: update to setup Python v4 (#3243)
SpencerIsGiddy Mar 14, 2023
e919304
Remove python 3.8 and windows/macos lint check. (#3258)
Taaku18 Mar 14, 2023
f2a434b
Fix replies in dms not being sent (#3239)
RealCyGuy Mar 14, 2023
726fb0c
Update changelog
Taaku18 Mar 14, 2023
b21037c
Reminder Plugin (#3254)
martinbndr Mar 14, 2023
02250e8
Merge branch 'master' into development
Taaku18 Mar 21, 2023
a7a7ce1
feat(build): drop root privileges, update .dockerignore
suprovsky May 18, 2023
eb7995d
feat(build): add Dockerfile to .dockerignore
suprovsky May 18, 2023
fa1a949
Remove modmail_guild_id from env examples (#3281)
lorenzo132 Jul 9, 2023
319000b
Renamed user from app to modmail
Taaku18 Jul 9, 2023
8a68f42
Added .git to .dockerignore and unignored some files
Taaku18 Jul 9, 2023
16d0a80
Merge branch 'development' into development
Taaku18 Jul 9, 2023
fa572ee
Fixed unset registry_plugins_only causing non-registry plugins to fai…
Taaku18 Jul 14, 2023
389dfb6
To avoid confusion, config.get() only accepts one pos argument now
Taaku18 Jul 14, 2023
5ddb4e0
Set smaller size for guild icons urls on embed icons (#3261)
baptiste0928 Jul 15, 2023
b1f3645
`logs id` command (#3196)
Jul 15, 2023
43fbc31
Enable discord.py logger by default. (#3216)
Jerrie-Aries Jul 15, 2023
a784f82
Cleanup after unloading extension. (#3226)
Jerrie-Aries Jul 15, 2023
cc21725
Fix typo #3210 (#3233)
Jul 15, 2023
1adbacf
Strip whitespace in help command titles (#3271)
RealCyGuy Jul 15, 2023
77fbb69
confirm_thread_creation Buttons instead of reactions (#3273)
martinbndr Jul 15, 2023
48bf245
Fixed the description of some config help descriptions having copy-pa…
sebkuip Jul 15, 2023
d4ec13e
[Fix] disable new command not updating db config (#3278)
martinbndr Jul 15, 2023
d671998
Merge branch 'development' into development
Taaku18 Jul 15, 2023
f405aed
Update changelog
Taaku18 Jul 15, 2023
d891ad1
Remove Heroku Reference from Debug Command (#3292)
StephenDaDev Jul 15, 2023
40dff61
Merge branch 'master' into development
Taaku18 Jul 15, 2023
5170035
Added Autoreact plugin (#3285)
martinbndr Jul 15, 2023
2b66710
Fix #3291: Resolve code scanning alert for URL sanitization
Taaku18 Jul 17, 2023
f0c469e
Implement #3187: Enhance bot join/leave logs across servers
Taaku18 Jul 17, 2023
7508d52
Update readme with new documentation links, python version, and remov…
Taaku18 Oct 11, 2023
7dfd22c
Merge branch 'master' into development
Taaku18 Nov 17, 2023
6d61cf2
Add JSON logging support (#3305)
nullishamy Nov 19, 2023
5c71059
Update changelog
Taaku18 Nov 19, 2023
ae99060
Fix rate limit issue on raw reaction add/remove events. (#3306)
Jerrie-Aries Nov 19, 2023
a8d7c26
Update changelog
Taaku18 Nov 19, 2023
54f7b1c
Add config to manage how long logs are stored (#3257)
Nov 19, 2023
2bc51e8
Update changelog and added a note for comparing dates by string
Taaku18 Nov 19, 2023
c6f87cd
Add `rename` to `registry.json` (#3276)
Nicklaus-s Nov 19, 2023
5b2770c
Update changelog
Taaku18 Nov 19, 2023
a94e7a9
Fix bug with `?plugin update`. (#3295)
Jerrie-Aries Nov 19, 2023
8bd30dc
Update changelog
Taaku18 Nov 19, 2023
53d40e0
fix: discord invite ( new server ) (#3307)
lorenzo132 Nov 19, 2023
ec95eb7
Update deps: aiohttp, colorama, emoji
Taaku18 Nov 20, 2023
6fea4b6
Updated the rest of the dependencies
Taaku18 Nov 20, 2023
27a16fe
Bump dpy version to 2.3.2
Taaku18 Nov 20, 2023
9464c5d
Fixed compat with MissingRequiredArgument requiring additional param
Taaku18 Nov 20, 2023
ef349e8
black format + update changelog
Taaku18 Nov 20, 2023
7231a5d
update changelog
Taaku18 Nov 20, 2023
55f9ba8
Remove some more discriminator references
Taaku18 Nov 20, 2023
5482e94
Remove pkg_resources and replaced with packaging, updated requirement…
Taaku18 Nov 20, 2023
dcdfb95
Merge branch 'bugfix/incomplete-url-sanitization-3291' into development
Taaku18 Nov 20, 2023
0086e04
Merge branch 'feature/bot-join-leave-logs-3187' into development
Taaku18 Nov 20, 2023
71e6e87
Update changelog
Taaku18 Nov 20, 2023
048a9d2
Black reformat code
Taaku18 Nov 20, 2023
3af8dfa
Fixed #3315: gif stickers are now rendered correctly, allow bare stic…
Taaku18 Nov 21, 2023
35194d8
Update changelog
Taaku18 Nov 21, 2023
62ae637
Use discord[speed] extra
Taaku18 Nov 22, 2023
768d4da
Bump version to 4.1.0
Taaku18 Nov 26, 2023
61336bc
Merge pull request #3269 from modmail-dev/development
Taaku18 Nov 26, 2023
285e336
Fix Docker file permission issue (#3323)
raidensakura May 15, 2024
30bd958
Updated sponsors
Taaku18 May 26, 2024
8c04d25
Update sponsors
Taaku18 Jun 23, 2024
19ff5a0
Update sponsorship info
Taaku18 Aug 25, 2024
041c4fd
Update sponsorship info
Taaku18 Aug 25, 2024
26d73f5
Add support for custom activities (#3352)
sebkuip Oct 27, 2024
fa6ad63
Updated changelog for custom activities #3352
Taaku18 Oct 27, 2024
2400ceb
msglink command now scans all recipients (#3341)
sebkuip Oct 27, 2024
5de513c
Updated changelog for msglink multiple recipients fix #3341
Taaku18 Oct 27, 2024
3c422c8
Error-handle a timeout error when loading plugins (#3330)
sebkuip Oct 27, 2024
7c1574f
fixes persistent note (#3324)
martinbndr Oct 27, 2024
eee764e
Updated changelog for persistent notes fix #3324
Taaku18 Oct 27, 2024
da97bdc
Update SPONSORS.json (#3348)
andyondrya Oct 27, 2024
464b64c
Update SPONSORS.json
Taaku18 Jan 14, 2025
bb2892f
Update sponsors
Taaku18 Jan 16, 2025
792a372
Bump version to v4.1.1
Taaku18 Jan 16, 2025
57ac0f1
Merge branch 'master' into development (cannot rebase)
Taaku18 Jan 16, 2025
c883b76
Merge pull request #3356 from modmail-dev/development
Taaku18 Jan 16, 2025
89afed5
Update README.md
Taaku18 Jan 16, 2025
6c820bf
Update README.md
Taaku18 Feb 10, 2025
1a3bda8
Merge the pydis changes to the bot (#3365)
sebkuip Mar 12, 2025
297aa0c
Bump version to 4.1.2
Taaku18 Mar 14, 2025
4212c59
Resolve merge conflict
Taaku18 Mar 14, 2025
21f4766
Merge development v4.2.0 (#3390)
Taaku18 Nov 11, 2025
c11e32f
Update readme version
Taaku18 Nov 11, 2025
1517693
Relock pipfile
Taaku18 Nov 11, 2025
98cb126
Bump aiohttp and motor deps, fixed pipenv dependency errors
Taaku18 Nov 11, 2025
829a364
fix: Remove thread-only restriction from logs command (#3397)
lorenzo132 Nov 20, 2025
124669d
modmail update QOL (#3392)
lorenzo132 Nov 28, 2025
17dd885
Fix GH Workflow with black Formatting
Taaku18 Nov 28, 2025
bcd1193
Add new sponsor to json
Taaku18 Nov 28, 2025
b0d9f23
Merge branch 'development'
Taaku18 Nov 30, 2025
665e67e
Update version to v4.2.1
Taaku18 Nov 30, 2025
7322e99
Update gitignore
Taaku18 Dec 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -138,11 +138,15 @@ temp/
test.py

# Other stuff
.dockerignore
.env.example
.git/
.gitignore
.github/
app.json
CHANGELOG.md
Dockerfile
docker-compose.yml
Procfile
pyproject.toml
README.md
Expand Down
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
TOKEN=MyBotToken
LOG_URL=https://logviewername.herokuapp.com/
GUILD_ID=1234567890
MODMAIL_GUILD_ID=1234567890
OWNERS=Owner1ID,Owner2ID,Owner3ID
CONNECTION_URI=mongodb+srv://mongodburi
DISABLE_AUTOUPDATES=true
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto
6 changes: 3 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ Pull requests are the best way to propose changes to the codebase. We actively w
## Any contributions you make will be under the GNU Affero General Public License v3.0
In short, when you submit code changes, your submissions are understood to be under the same [GNU Affero General Public License v3.0](https://www.gnu.org/licenses/agpl-3.0.en.html) that covers the project. Feel free to contact the maintainers if that's a concern.

## Report bugs using [Github Issues](https://github.com/kyb3r/modmail/issues)
We use GitHub issues to track public bugs. Report a bug by [opening a new Issue](https://github.com/kyb3r/modmail/issues/new); it's that easy!
## Report bugs using [Github Issues](https://github.com/modmail-dev/modmail/issues)
We use GitHub issues to track public bugs. Report a bug by [opening a new Issue](https://github.com/modmail-dev/modmail/issues/new); it's that easy!

## Find pre-existing issues to tackle
Check out our [unstaged issue tracker](https://github.com/kyb3r/modmail/issues?q=is%3Aissue+is%3Aopen+-label%3Astaged) and start helping out!
Check out our [unstaged issue tracker](https://github.com/modmail-dev/modmail/issues?q=is%3Aissue+is%3Aopen+-label%3Astaged) and start helping out!

Ways to help out:
- Help out new members
Expand Down
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
patreon: kyber
buy_me_a_coffee: modmaildev
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ body:
- Heroku
- Systemd
- PM2
- Patreon
- Buy Me A Coffee / Patreon
- Other
validations:
required: true
Expand Down
4 changes: 2 additions & 2 deletions .github/pull.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
version: "1"
rules:
- base: master
upstream: kyb3r:master
upstream: modmail-dev:master
mergeMethod: hardreset
- base: development
upstream: kyb3r:development
upstream: modmail-dev:development
mergeMethod: hardreset
42 changes: 42 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

name: Create and publish a Docker image

on:
push:
branches: ['master']

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Log in to the Container registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

- name: Build and push Docker image
uses: docker/build-push-action@v3
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
9 changes: 4 additions & 5 deletions .github/workflows/lints.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,17 @@ on: [push, pull_request]

jobs:
code-style:
runs-on: ${{ matrix.os }}
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
python-version: ['3.8', '3.9', '3.10']
python-version: ['3.10', '3.11']

name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
name: Python ${{ matrix.python-version }} on ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
Expand Down
175 changes: 65 additions & 110 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,93 +1,29 @@
#### Modmail
# Plugins
plugins/*
!plugins/registry.json
!plugins/@local

# Config files
config.json
.env

# Data
temp/

### Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
Expand All @@ -98,43 +34,62 @@ ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject
#### PyCharm
.idea/

# mkdocs documentation
/site
#### VS Code
.vscode/

# mypy
.mypy_cache/
.dmypy.json
dmypy.json
### Windows
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Pyre type checker
.pyre/
# Dump file
*.stackdump

# PyCharm
.idea/
# Folder config file
[Dd]esktop.ini

# MacOS
.DS_Store
# Recycle Bin used on file shares
$RECYCLE.BIN/

# VS Code
.vscode/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Node
package-lock.json
node_modules/
# Windows shortcuts
*.lnk

# Modmail
plugins/*
!plugins/registry.json
!plugins/@local
config.json
temp/
test.py
stack.yml
.github/workflows/build_docker.yml
### macOS
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
Loading