Skip to content

Commit 35f24ee

Browse files
authored
Update to v3.8.0 - Merge from development into master
v3.8.0 - QOL changes and bug fixes
2 parents b0df2b3 + 60bd4a7 commit 35f24ee

16 files changed

+617
-250
lines changed

.bandit_baseline.json

+52-25
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"errors": [],
3-
"generated_at": "2020-11-12T15:17:38Z",
3+
"generated_at": "2020-11-26T11:00:36Z",
44
"metrics": {
55
"./bot.py": {
66
"CONFIDENCE.HIGH": 1.0,
@@ -11,7 +11,7 @@
1111
"SEVERITY.LOW": 1.0,
1212
"SEVERITY.MEDIUM": 0.0,
1313
"SEVERITY.UNDEFINED": 0.0,
14-
"loc": 1264,
14+
"loc": 1321,
1515
"nosec": 0
1616
},
1717
"./cogs/modmail.py": {
@@ -23,7 +23,7 @@
2323
"SEVERITY.LOW": 0.0,
2424
"SEVERITY.MEDIUM": 0.0,
2525
"SEVERITY.UNDEFINED": 0.0,
26-
"loc": 1280,
26+
"loc": 1273,
2727
"nosec": 0
2828
},
2929
"./cogs/plugins.py": {
@@ -35,7 +35,7 @@
3535
"SEVERITY.LOW": 1.0,
3636
"SEVERITY.MEDIUM": 0.0,
3737
"SEVERITY.UNDEFINED": 0.0,
38-
"loc": 572,
38+
"loc": 578,
3939
"nosec": 0
4040
},
4141
"./cogs/utility.py": {
@@ -47,7 +47,7 @@
4747
"SEVERITY.LOW": 1.0,
4848
"SEVERITY.MEDIUM": 1.0,
4949
"SEVERITY.UNDEFINED": 0.0,
50-
"loc": 1710,
50+
"loc": 1755,
5151
"nosec": 0
5252
},
5353
"./core/_color_data.py": {
@@ -63,15 +63,15 @@
6363
"nosec": 0
6464
},
6565
"./core/changelog.py": {
66-
"CONFIDENCE.HIGH": 0.0,
66+
"CONFIDENCE.HIGH": 1.0,
6767
"CONFIDENCE.LOW": 0.0,
6868
"CONFIDENCE.MEDIUM": 0.0,
6969
"CONFIDENCE.UNDEFINED": 0.0,
7070
"SEVERITY.HIGH": 0.0,
71-
"SEVERITY.LOW": 0.0,
71+
"SEVERITY.LOW": 1.0,
7272
"SEVERITY.MEDIUM": 0.0,
7373
"SEVERITY.UNDEFINED": 0.0,
74-
"loc": 145,
74+
"loc": 155,
7575
"nosec": 0
7676
},
7777
"./core/checks.py": {
@@ -83,7 +83,7 @@
8383
"SEVERITY.LOW": 0.0,
8484
"SEVERITY.MEDIUM": 0.0,
8585
"SEVERITY.UNDEFINED": 0.0,
86-
"loc": 89,
86+
"loc": 90,
8787
"nosec": 0
8888
},
8989
"./core/clients.py": {
@@ -95,7 +95,7 @@
9595
"SEVERITY.LOW": 1.0,
9696
"SEVERITY.MEDIUM": 0.0,
9797
"SEVERITY.UNDEFINED": 0.0,
98-
"loc": 585,
98+
"loc": 587,
9999
"nosec": 0
100100
},
101101
"./core/config.py": {
@@ -107,7 +107,7 @@
107107
"SEVERITY.LOW": 0.0,
108108
"SEVERITY.MEDIUM": 0.0,
109109
"SEVERITY.UNDEFINED": 0.0,
110-
"loc": 327,
110+
"loc": 352,
111111
"nosec": 0
112112
},
113113
"./core/decorators.py": {
@@ -131,7 +131,7 @@
131131
"SEVERITY.LOW": 0.0,
132132
"SEVERITY.MEDIUM": 0.0,
133133
"SEVERITY.UNDEFINED": 0.0,
134-
"loc": 199,
134+
"loc": 202,
135135
"nosec": 0
136136
},
137137
"./core/paginator.py": {
@@ -155,7 +155,7 @@
155155
"SEVERITY.LOW": 0.0,
156156
"SEVERITY.MEDIUM": 0.0,
157157
"SEVERITY.UNDEFINED": 0.0,
158-
"loc": 993,
158+
"loc": 996,
159159
"nosec": 0
160160
},
161161
"./core/time.py": {
@@ -179,19 +179,31 @@
179179
"SEVERITY.LOW": 0.0,
180180
"SEVERITY.MEDIUM": 0.0,
181181
"SEVERITY.UNDEFINED": 0.0,
182-
"loc": 283,
182+
"loc": 282,
183+
"nosec": 0
184+
},
185+
"./plugins/kyb3r/modmail-plugins/profanity-filter-master/profanity-filter.py": {
186+
"CONFIDENCE.HIGH": 0.0,
187+
"CONFIDENCE.LOW": 0.0,
188+
"CONFIDENCE.MEDIUM": 0.0,
189+
"CONFIDENCE.UNDEFINED": 0.0,
190+
"SEVERITY.HIGH": 0.0,
191+
"SEVERITY.LOW": 0.0,
192+
"SEVERITY.MEDIUM": 0.0,
193+
"SEVERITY.UNDEFINED": 0.0,
194+
"loc": 81,
183195
"nosec": 0
184196
},
185197
"_totals": {
186-
"CONFIDENCE.HIGH": 4.0,
198+
"CONFIDENCE.HIGH": 5.0,
187199
"CONFIDENCE.LOW": 0.0,
188200
"CONFIDENCE.MEDIUM": 1.0,
189201
"CONFIDENCE.UNDEFINED": 0.0,
190202
"SEVERITY.HIGH": 0.0,
191-
"SEVERITY.LOW": 4.0,
203+
"SEVERITY.LOW": 5.0,
192204
"SEVERITY.MEDIUM": 1.0,
193205
"SEVERITY.UNDEFINED": 0.0,
194-
"loc": 8989,
206+
"loc": 9214,
195207
"nosec": 0
196208
}
197209
},
@@ -226,41 +238,56 @@
226238
"test_name": "blacklist"
227239
},
228240
{
229-
"code": "12 from json import JSONDecodeError, loads\n13 from subprocess import PIPE\n14 from textwrap import indent\n",
241+
"code": "13 from json import JSONDecodeError, loads\n14 from subprocess import PIPE\n15 from textwrap import indent\n",
230242
"filename": "./cogs/utility.py",
231243
"issue_confidence": "HIGH",
232244
"issue_severity": "LOW",
233245
"issue_text": "Consider possible security implications associated with PIPE module.",
234-
"line_number": 13,
246+
"line_number": 14,
235247
"line_range": [
236-
13
248+
14
237249
],
238250
"more_info": "https://bandit.readthedocs.io/en/latest/blacklists/blacklist_imports.html#b404-import-subprocess",
239251
"test_id": "B404",
240252
"test_name": "blacklist"
241253
},
242254
{
243-
"code": "1985 try:\n1986 exec(to_compile, env) # pylint: disable=exec-used\n1987 except Exception as exc:\n",
255+
"code": "2039 try:\n2040 exec(to_compile, env) # pylint: disable=exec-used\n2041 except Exception as exc:\n",
244256
"filename": "./cogs/utility.py",
245257
"issue_confidence": "HIGH",
246258
"issue_severity": "MEDIUM",
247259
"issue_text": "Use of exec detected.",
248-
"line_number": 1986,
260+
"line_number": 2040,
249261
"line_range": [
250-
1986
262+
2040
251263
],
252264
"more_info": "https://bandit.readthedocs.io/en/latest/plugins/b102_exec_used.html",
253265
"test_id": "B102",
254266
"test_name": "exec_used"
255267
},
256268
{
257-
"code": "68 \n69 def __init__(self, bot, access_token: str = \"\", username: str = \"\", **kwargs):\n70 self.bot = bot\n71 self.session = bot.session\n72 self.headers: dict = None\n73 self.access_token = access_token\n74 self.username = username\n75 self.avatar_url: str = kwargs.pop(\"avatar_url\", \"\")\n76 self.url: str = kwargs.pop(\"url\", \"\")\n77 if self.access_token:\n78 self.headers = {\"Authorization\": \"token \" + str(access_token)}\n79 \n80 async def request(\n",
269+
"code": "2 import re\n3 from subprocess import PIPE\n4 from typing import List\n",
270+
"filename": "./core/changelog.py",
271+
"issue_confidence": "HIGH",
272+
"issue_severity": "LOW",
273+
"issue_text": "Consider possible security implications associated with PIPE module.",
274+
"line_number": 3,
275+
"line_range": [
276+
3
277+
],
278+
"more_info": "https://bandit.readthedocs.io/en/latest/blacklists/blacklist_imports.html#b404-import-subprocess",
279+
"test_id": "B404",
280+
"test_name": "blacklist"
281+
},
282+
{
283+
"code": "67 \n68 def __init__(self, bot, access_token: str = \"\", username: str = \"\", **kwargs):\n69 self.bot = bot\n70 self.session = bot.session\n71 self.headers: dict = None\n72 self.access_token = access_token\n73 self.username = username\n74 self.avatar_url: str = kwargs.pop(\"avatar_url\", \"\")\n75 self.url: str = kwargs.pop(\"url\", \"\")\n76 if self.access_token:\n77 self.headers = {\"Authorization\": \"token \" + str(access_token)}\n78 \n79 @property\n80 def BRANCH(self):\n",
258284
"filename": "./core/clients.py",
259285
"issue_confidence": "MEDIUM",
260286
"issue_severity": "LOW",
261287
"issue_text": "Possible hardcoded password: ''",
262-
"line_number": 69,
288+
"line_number": 68,
263289
"line_range": [
290+
68,
264291
69,
265292
70,
266293
71,

CHANGELOG.md

+36
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,42 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66
This project mostly adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html);
77
however, insignificant breaking changes do not guarantee a major version bump, see the reasoning [here](https://github.com/kyb3r/modmail/issues/319). If you're a plugin developer, note the "BREAKING" section.
88

9+
# v3.8.0
10+
11+
### Added
12+
13+
- `update_notifications` configuration option to toggle bot autoupdate notifications. ([GH #2896](https://github.com/kyb3r/modmail/issues/2896))
14+
- `?fareply`, anonymously reply with variables.
15+
- `anonymous_snippets` config variable to toggle if snippets should be anonymous. ([GH #2905](https://github.com/kyb3r/modmail/issues/2905))
16+
- `disable_updates` config variable to control if the update command should be disabled or not.
17+
- `silent_alert_on_mention` to alert mods silently. ([GH #2907](https://github.com/kyb3r/modmail/issues/2907))
18+
- Support for only the "Server Members" intent.
19+
20+
### Improved
21+
22+
- Added command validation to `autotrigger add/edit`.
23+
- `GITHUB_TOKEN` is now no longer required in Heroku setups.
24+
- Clearer error messages on reply fails.
25+
26+
### Fixed
27+
28+
- Mentioned `competing` as an activity type. ([PR #2902](https://github.com/kyb3r/modmail/pull/2902))
29+
- Level permissions were not checked if command permissions were set.
30+
- Regex autotriggers were not working if term was in the middle of strings.
31+
- `?blocked` now no longers show blocks that have expired.
32+
- Blocked roles will no longer trigger an error during unblock.
33+
- Custom emojis are now supported in `confirm_thread_creation_deny`. ([GH #2916](https://github.com/kyb3r/modmail/issues/2916))
34+
- Finding linked messages in replies work now. ([GH #2920](https://github.com/kyb3r/modmail/issues/2920), [Jerrie-Aries](https://github.com/kyb3r/modmail/issues/2920#issuecomment-751530495))
35+
- Sending files in threads (non-images) now work. ([GH #2926](https://github.com/kyb3r/modmail/issues/2926))
36+
- Deleting messages no longer shows a false error. ([GH #2910](https://github.com/kyb3r/modmail/issues/2910), [Jerrie-Aries](https://github.com/kyb3r/modmail/issues/2910#issuecomment-753557313))
37+
- Display an error on [Lottie](https://airbnb.io/lottie/#/) stickers, instead of failing the send.
38+
- `?perms get` now shows role/user names. ([PR #2927](https://github.com/kyb3r/modmail/pull/2927))
39+
40+
### Internal
41+
42+
- Make use of `git branch --show-current` to retrieve branch instead of using prerelease version check.
43+
- Use discord.py 1.6.0 from PyPi instead of the development clone.
44+
945
# v3.7.13
1046

1147
### Fixed

Pipfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ parsedatetime = "==2.6"
2727
aiohttp = ">=3.6.0,<3.7.0"
2828
python-dotenv = ">=0.10.3"
2929
pipenv = "*"
30-
"discord.py" = {file = "./discord.py-1.5.2.tar.gz"}
30+
"discord.py" = "==1.6.0"
3131

3232
[scripts]
3333
bot = "python bot.py"

0 commit comments

Comments
 (0)