Releases: r-Techsupport/TechSupportBot
v2025.06.20
Core
Fixed a typo in the docstring for interaction check
The config.yml path is now set in the .env file
The default.env file now defaults debug to 0
A config item was added to change the owner of the bot
The CI was refactored to be in one file
New CI was added to auto close certain dependabot PRs
A new central file to do moderation actions was added, to improve consistency
Slash command logging was improved greatly
TS will now DM people warnings who message the bot, clearly stating that all messages are logged
Application
New config item to auto reject apps after inactivity for X days was add
Automod
Replaces several functions from protect and who
Automod was rewritten to be more powerful
You can now mute with Automod
You can now do a silent punishment with Automod
Regex filters were fixed
Bot
The startup time is now a dynamic timestamp instead of text
Burn
Command now works on reply
Correct
Now has a clean error when the corrected message will exceed length limits
Debug
New debug commands have been added
Duck
Improve the random chance function
Ducks doing a timeout is now a config option
Extension
Adds a command to enable all disabled extensions in the current guild
Factoid
No more prefix command for factoid all
Factoid search output was improved and sped up a bit
Make the factoid json file be named the invoking factoid name
Adds a new /factoid call command to call factoids via slash command
Improves the messaging on factoid forget to clearly show what aliases will be deleted
Fixes a bug where factoid all didn't work if there are no factoids in a guild
Hangman
Hangman start is now a slash command
Hangman no longer breaks on caps
The person who starts hangman cannot play
The owner of the game can add more guesses
The game now shows what letters have been guessed
The help command on the hangman game was updated
Hello
Was turned into a slash command
HTD
A rouge print statement was removed from the code
IRC
IRC now uses SSL to login
IRC messages are now processed by automod
Joke
The joke category filter has been improved
Logger
Fixes a typo in the log for missing file reuploads
Moderator
Replaces several functions from protect and who
Ban, unban, kick, mute, unmute, warn, and warning clear were all made into slash commands
An individual unwarn command was added
Modlog
Logs all ban and unban actions in a given channel
Stores ban time, reason, moderator, etc into the database
Modmail
A new command to list users banned from modmail was added
The alias command shows a clear message if no aliases are defined
Self/contact success commands now link to the new thread
Fixes sending files to the user
News
Is now a slash command
Filters out undesirables news.google.com links
Notes
Replaces several functions from protect and who
This is now the source of all commands to read and edit notes
Notes all was dramatically rewritten
Permission issues with notes were fixed
Paste
The UI of paste was slightly rewritten
Paste has less of a chance of deleting the original message if the pasting action failed
Purge
Replaces several functions from protect and who
Purge amount and duration were combined into one command
Purge is now a slash command
Better information output and erroring from purge
Report
Allows users to report information, which will be sent into a given channel
Role
Allow a dynamic list for /role self
Whois
Replaces several functions from protect and who
This is now paginated, with better info about notes and warnings
A small redesign to the existing information was done
New flags were added to the whois output to see extra information
Dependencies
aiocron -> 2.1
dateparser -> 1.2.1
discord.py -> 2.5.2
emoji -> 2.14.1
flake8 -> 7.2.0
flake8-bugbear -> 24.12.12
gitpython -> 3.1.44
hypothesis -> 6.135.10
inflect -> 7.5.0
irc -> 20.5.0
isort -> 6.0.1
pip -> 25.1.1
pipenv -> 2025.0.3
pydantic -> 2.9.2
pydoclint -> 0.6.6
pylint -> 3.3.7
pytest -> 8.4.0
pytest-asyncio -> 1.0.0
unidecode -> 1.4.0
Removed ib3
What's Changed
- Fix typo in interaction check by @ajax146 in #1221
- Update discord.py to version 2.5 by @ajax146 in #1222
- Bump hypothesis from 6.122.4 to 6.131.7 by @dependabot in #1265
- Bump pytest-asyncio from 0.25.0 to 0.26.0 by @dependabot in #1250
- Truly kill factoid all prefix command by @ajax146 in #1224
- Bump pytest from 8.3.2 to 8.3.5 by @dependabot in #1235
- Bump flake8-bugbear from 24.8.19 to 24.12.12 by @dependabot in #1269
- Replaces the PC joke config with a better filter by @Lunaberries in #1266
- Improves the output format of factoid search, and speeds it up a little by @ajax146 in #1200
- Makes role self more dynamic by @ajax146 in #1199
- Bump pylint from 3.2.6 to 3.3.6 by @dependabot in #1247
- Make duck random better by @ajax146 in #1189
- Rename factoid json file by @ajax146 in #1270
- Updating hangman to fix all the issues by @TheKrol in #1207
- Bump gitpython from 3.1.43 to 3.1.44 by @dependabot in #1226
- Bump pip from 24.3.1 to 25.0.1 by @dependabot in #1271
- Bump isort from 5.13.2 to 6.0.1 by @dependabot in #1272
- Bump pydantic from 2.8.2 to 2.9.2 by @dependabot in #1149
- Bump emoji from 2.12.1 to 2.14.1 by @dependabot in #1274
- Bump pipenv from 2024.4.1 to 2025.0.1 by @dependabot in #1273
- Bump pydoclint from 0.5.6 to 0.6.6 by @dependabot in #1262
- Bump flake8 from 7.1.1 to 7.2.0 by @dependabot in #1275
- Bump unidecode from 1.3.8 to 1.4.0 by @dependabot in #1276
- Bump hypothesis from 6.131.8 to 6.131.9 by @dependabot in #1278
- Bump pip from 25.0.1 to 25.1 by @dependabot in #1280
- Ducks don't timeout anymore by @Cpt-Dingus in #1141
- Updates the IRC authentication method to no longer need ib3 by @ajax146 in #1282
- Bump inflect from 7.3.1 to 7.5.0 by @dependabot in #1279
- make config.yml path configurable in .env file by @dkay0670 in #1294
- Removes useless print statement in HTD by @ajax146 in #1291
- Make the DEBUG .env option default at 0 by @ajax146 in #1301
- Changed behavior of
.burn
command. by @Koei32 in #1298 - Fix typo in logging warning in logger by @ajax146 in #1292
- Add /factoid call command by @ajax146 in #1290
- Add modmail bans command to list modmail bans by @dkay0670 in #1286
- Bump aiocron from 1.8 to 2.1 by @dependabot in #1268
- Add override owner config and try catch to log DM by @ajax146 in #1220
- Bump dateparser from 1.2.0 to 1.2.1 by @dependabot in #1267
- concatenation of all prior CI and addition of dependabot close steps … by @PipeItToDevNull in #1075
- Make startup time dynamic timestamp by @dkay0670 in #1305
- Fix modmail alias command when no aliases defined by @dkay0670 in #1287
- Add more friendly error when corrected message is too long by @dkay0670 in #886
- Auto reject applications after 30 days by @ajax146 in #1281
- Make CI only run on PRs with the run-ci label by @ajax146 in #1306
- Bump pip from 25.1 to 25.1.1 by @dependabot in #1308
- Bump pipenv from 2025.0.1 to 2025.0.2 by @dependabot in #1307
- Refactors hello, removes worthless unit tests by @ajax146 in #1300
- Merge all formatting and testing CI into one by @ajax146 in #1312
- Refactor all moderation features, auto mod and notes. Add reports and modlog. by @ajax146 in https://github.com/r-Techsupport/TechSup...
v2025.02.18
Core
Icon icons URLs have all been replaced with another source
Application
Minor typo was fixed
Factoid
.factoid all is now retired in favor of /factoid all
Hug
More hug statements
Modmail
Modmail aliases command now shows all the aliases
Dependencies
aiohttp -> 3.10.11
black -> 25.1.0
flake8 -> 7.1.1
flake8-bugbear -> 24.8.19
flake8-docstrings-complete -> 1.4.1
hypothesis -> 6.122.4
pip -> 24.3.1
pipenv -> 2024.4.1
pytest-asyncio -> 0.25.0
What's Changed
- Bump flake8 from 7.1.0 to 7.1.1 by @dependabot in #1118
- Bump black from 24.4.2 to 24.8.0 by @dependabot in #1119
- Bump hypothesis from 6.108.3 to 6.111.1 by @dependabot in #1131
- Bump flake8-bugbear from 24.4.26 to 24.8.19 by @dependabot in #1134
- Bump pip from 24.1.2 to 24.3.1 by @dependabot in #1166
- Update hug.py by @TheKrol in #1173
- Bump hypothesis from 6.111.1 to 6.122.4 by @dependabot in #1195
- Fixes the .factoid all command so it no longer shows hidden factoids by @ajax146 in #1106
- Bump pytest-asyncio from 0.23.8 to 0.25.0 by @dependabot in #1194
- Bump flake8-docstrings-complete from 1.3.0 to 1.4.1 by @dependabot in #1192
- Update modmail aliases command by @dkay0670 in #1217
- Bump black from 24.8.0 to 25.1.0 by @dependabot in #1214
- Replace Icon Icons by @ajax146 in #1218
- Fix a typo in application by @ajax146 in #1197
- Sunset factoid all by @ajax146 in #1196
- Bump pipenv from 2024.0.1 to 2024.4.1 by @dependabot in #1213
- Bump aiohttp from 3.9.5 to 3.10.11 by @dependabot in #1177
Full Changelog: v2024.08.19...v2025.02.18
v2024.08.19
Application
Add manual changes to the application management channel
Backup
Adds a data backup command
Extension
Adds ability to list disabled extensions
Factoid
Make factoid search way more useful, showing what and where your term was found
Allows factoid prefix to be longer than one character
Github
Make description optional
Modmail
Adds ability to auto-reject threads based on regex
Role
Fixes bug where role menu strips all roles on timeout
Dependencies
bidict -> 0.23.1
certtifi -> 2024.7.4
emoji -> 2.12.1
hypothesis -> 6.108.3
pip -> 24.1.2
pydantic -> 2.8.2
pydoclint -> 0.5.6
pylint -> 3.2.6
pytest -> 8.3.2
pytest-asyncio -> 0.23.8
What's Changed
- Bump hypothesis from 6.105.0 to 6.108.3 by @dependabot in #1092
- Makes description optional on github by @ajax146 in #1091
- Adds more details to factoid search by @ajax146 in #1089
- Allows factoid prefix longer than 1 character by @ajax146 in #1087
- Add application changes to the management channel by @ajax146 in #1086
- Adds /extension list_disabled to list all disabled extensions by @ajax146 in #1085
- Add automatic rejections to modmail to block threads from being created by @ajax146 in #1084
- Adds a backup command by @ajax146 in #1088
- Bump pytest from 8.2.2 to 8.3.1 by @dependabot in #1100
- Bump emoji from 2.11.1 to 2.12.1 by @dependabot in #1013
- Bump pip from 24.1.1 to 24.1.2 by @dependabot in #1073
- Bump certifi from 2024.6.2 to 2024.7.4 by @dependabot in #1071
- Bump pydantic from 2.7.0 to 2.8.2 by @dependabot in #1068
- Bump bidict from 0.22.1 to 0.23.1 by @dependabot in #890
- Bump pylint from 3.1.0 to 3.2.6 by @dependabot in #1093
- Bump pydoclint from 0.4.1 to 0.5.6 by @dependabot in #1082
- Bump pytest-asyncio from 0.23.7 to 0.23.8 by @dependabot in #1114
- Bump pytest from 8.3.1 to 8.3.2 by @dependabot in #1113
- Fixes the role menu not timing out properly by @ajax146 in #1130
Full Changelog: v2024.07.06...v2024.08.19
v2024.07.06
Application
Will now properly reject appliactions from people who have left the server
Duck
Will now show the could have been time if you miss
Factoids
Adds a config to force disable all embeds, relying only on text
Fixes looping restricted factoids
Deprecates .factoid all
Makes /factoid all, a much more powerful factoid all command
htd
Restructured the file, no functionality change
Logger
Will now log a WARN if reuploading files failed
Modmail
If a message was edited without changing content, nothing is sent to the mods
The error message for a user not being in the guild was made more clear
Protect
Will now log a WARN if reuploading files failed
Winerror
Winerror is now paginated per category, with a maximum of 10 errors per page
Voting
New extension. Allows for blind and anonymous mod votes
Other
Type hints and doc strings have been standardized and added to every function
Workflows
Add a flake8 workflow
Unit tests
Improved the htd unit tests
Dependencies
discord.py -> 2.4.0
inflect -> 7.3.1
hypothesis -> 6.105.0
pip -> 24.1.1
pipenv -> 2024.0.1
pytest -> 8.2.2
pytest-asyncio -> 0.23.7
New Dependencies
flake8 = "==7.1.0"
flake8-annotations = "==3.1.1"
flake8-bugbear = "==24.4.26"
flake8-docstrings-complete = "==1.3.0"
flake8-modern-annotations = "==1.6.0"
flake8-variables-names = "==0.0.6"
pydoclint = "==0.4.1"
What's Changed
- Adds proper type hints to every argument in every function, and every return value by @ajax146 in #967
- Bump hypothesis from 6.100.2 to 6.103.0 by @dependabot in #1018
- Bump pytest from 8.2.0 to 8.2.1 by @dependabot in #1010
- Bump pytest-asyncio from 0.23.6 to 0.23.7 by @dependabot in #1011
- Bump pipenv from 2023.12.1 to 2024.0.1 by @dependabot in #1033
- Update every doc string to describe what the function or class does with numpy standards by @ajax146 in #1003
- Add flake8 and some plugins by @ajax146 in #945
- Add old workflows back by @ajax146 in #1044
- Reupload failed is now a warning not an info by @ajax146 in #1042
- Times on misses on ducks now by @ajax146 in #1041
- Removes content was unchanged from modmail by @ajax146 in #1040
- Improve error message by @ajax146 in #1039
- Disable embeds config, fix restricted loops by @ajax146 in #1038
- Add a try/except to application fetch member by @ajax146 in #1037
- Bump hypothesis from 6.103.0 to 6.103.1 by @dependabot in #1029
- Bump pytest from 8.2.1 to 8.2.2 by @dependabot in #1028
- Bump hypothesis from 6.103.1 to 6.103.2 by @dependabot in #1050
- Bump flake8 from 7.0.0 to 7.1.0 by @dependabot in #1049
- Bump flake8-annotations from 3.0.1 to 3.1.1 by @dependabot in #1048
- Bump flake8-bugbear from 24.2.6 to 24.4.26 by @dependabot in #1047
- Bump Discord.py to version 2.4.0 by @ajax146 in #1055
- Bump hypothesis from 6.103.2 to 6.104.0 by @dependabot in #1056
- Bump pip from 24.0 to 24.1 by @dependabot in #1051
- Adds a /voting command with the ability to do blind or anonymous voting by @ajax146 in #1035
- Fix grabs random nsfw check by @ajax146 in #1045
- Bump hypothesis from 6.104.0 to 6.105.0 by @dependabot in #1070
- Bump inflect from 7.2.1 to 7.3.1 by @dependabot in #1066
- Bump pip from 24.1 to 24.1.1 by @dependabot in #1062
- Moves functions around in htd.py, makes unit tests better by @ajax146 in #1058
- Make winerror paginated by @TheKrol in #1015
- Raise ValueError on empty message by @ajax146 in #1046
- Make factoid all into a slash command by @ajax146 in #1036
Full Changelog: v2024.04.30...v2024.07.06
v2024.04.30
Core features
A universal DM logging function is created, better logging DMs from all 3 bots
A ton of styling and formatting changes occured, improving type hints, variable names, and doc strings
Animal
Restructure the cog to be a bit more readable
Application
Fixes bugs where people were falsely assumed to have left the server
Help
Sorting is now case insensitive
Custom modmail commands are now searchable in the standard help menu
Modmail
Fixed a bug where the forum channel wouldn't be properly found
Fixed a bug where new modmails pinged nobody
Moved the disabled check to the setup function, so modmail won't try and load if it's disabled
Protect
Fixes a bug where people were falsely assumed to not be in the channel when warning them
Role
Added a missing return to ensure that the role commands permission check actually works
Who
Note writers is now a set config entry instead of being based on kick members
Dependencies
aiohttp -> 3.9.4
black -> 24.4.2
emoji -> 2.11.1
hypothesis -> 6.100.2
inflect -> 7.2.1
pytest -> 8.2.0
What's Changed
- Makes modmail fetch channels properly and be able to ping roles by @Cpt-Dingus in #936
- Add return so that role command doesn't error on failed permission check by @ajax146 in #941
- Bump black from 24.3.0 to 24.4.0 by @dependabot in #943
- Condense animal into 1 cog by @ajax146 in #942
- Fix all flake8 ANN202 issues by @ajax146 in #953
- Fix all flake8 DOC405 issues by @ajax146 in #952
- Fix all flake8 ANN205 issues by @ajax146 in #951
- Fix all flake8 B008 issues by @ajax146 in #950
- Fix all flake8 DCO021 issues by @ajax146 in #949
- Fix all flake8 DCO051 issues by @ajax146 in #947
- Fix all flake8 DOC104 issues by @ajax146 in #946
- Creates a universal DM logging function by @ajax146 in #940
- Sorts help menu case insensitive, reworks modmail help by @ajax146 in #939
- Fix all flake8 DCO031 issues by @ajax146 in #948
- Fix all flake8 DOC105 issues by @ajax146 in #957
- Fix all flake8 DCO024 issues by @ajax146 in #956
- Fix all flake8 DOC110 issues by @ajax146 in #955
- Fix all flake8 E713 issues by @ajax146 in #954
- Fix first 100 flake8 ANN201 issues by @ajax146 in #960
- Fix all flake8 DOC102 issues by @ajax146 in #959
- Fix all flake8 ANN003 issues by @ajax146 in #958
- Fix first 49 flake8 DCO020 issues by @ajax146 in #961
- Fix many small warnings in flake8 by @ajax146 in #962
- Bump pytest from 8.1.1 to 8.2.0 by @dependabot in #988
- Bump hypothesis from 6.100.1 to 6.100.2 by @dependabot in #987
- Bump black from 24.4.0 to 24.4.2 by @dependabot in #976
- Make note_readers config by @ajax146 in #981
- Swap get_member to fetch_member in application so no members are missed by @ajax146 in #979
- Bump inflect from 7.2.0 to 7.2.1 by @dependabot in #973
- Move warn to use permissions for to hopefully be more accurate by @TheKrol in #968
- Bump emoji from 2.11.0 to 2.11.1 by @dependabot in #970
- Moves the modmail config check to setup by @ajax146 in #980
- Bump aiohttp from 3.9.2 to 3.9.4 by @dependabot in #966
Full Changelog: v2024.04.13...v2024.04.30
v2024.04.13
Core features
Slash command logs now include user ID
Animal
.fox now exists
Application
Application reminders will now show both user and display name
Application reminders use code blocks to avoid markdown issues
Factoids
Replacing an embed but not message now works properly again
Responses are now way clearer at what factoid is being targetted, always matching what you sent
Info has been reworked to now show aliases as all possible calls
Google
.g I and .g S will now work, in addition to lowercase versions
HTD
Some comment and help menu typos were fixed
Hug
Hug now works on reply
Modmail
Adds a brand new modmail extension
Nickname fix
Adds a reason to the audit log entry containing who ran the command
Dependencies
black->24.3.0
emoji->2.11.0
gitpython->3.1.43
hypothesis->6.100.1
idna->3.7
inflect->7.2.0
pydantic->2.7.0
pylint->3.1.0
pytest->8.1.1
pytest-asyncio->0.23.6
What's Changed
- Bump hypothesis from 6.98.4 to 6.98.5 by @dependabot in #875
- Keep existing message when modifying factoid if none is specified by @dkay0670 in #888
- Add capitalized I and S aliases for google by @dkay0670 in #883
- Make hug work when replying to someone by @dkay0670 in #882
- Bump pydantic from 2.6.1 to 2.6.4 by @dependabot in #909
- Bump hypothesis from 6.98.5 to 6.100.0 by @dependabot in #921
- Bump pytest-asyncio from 0.23.5 to 0.23.6 by @dependabot in #915
- Bump pytest from 7.4.4 to 8.1.1 by @dependabot in #907
- Bump black from 24.2.0 to 24.3.0 by @dependabot in #913
- Bump pylint from 3.0.3 to 3.1.0 by @dependabot in #897
- htd command fixes by @dkay0670 in #881
- Bump gitpython from 3.1.41 to 3.1.43 by @dependabot in #920
- Makes factoid messages clearer, fixes a bug, and cleans up some code by @ajax146 in #865
- Adding fox to animal by @TheKrol in #876
- Update audit log with who did nickname command by @TheKrol in #877
- Update application with display name and name in code blocks by @TheKrol in #878
- Bump hypothesis from 6.100.0 to 6.100.1 by @dependabot in #930
- Bump inflect from 7.0.0 to 7.2.0 by @dependabot in #925
- Bump emoji from 2.10.1 to 2.11.0 by @dependabot in #924
- Bump pydantic from 2.6.4 to 2.7.0 by @dependabot in #933
- Bump idna from 3.6 to 3.7 by @dependabot in #932
- Add the modmail extension by @Cpt-Dingus in #884
New Contributors
Full Changelog: v2024.02.13...v2024.04.13
v2024.02.13
Changelog
Core features
The generate embed function is now more flexible
Animal
Now incorporates cat and dog
Now has a frog command
Application
Applications are now always sorted by recieve time in the perodic reminder
Applications with a changed name now show old name
Applications auto approved now show what role caused it
User ID is now shown at the bottom of applications
Fixed typo in name of application status column in postgres
Cat
Was replaced by animal
Dog
Was replaced by animal
Duck
The missed embed now clearly says you missed
Extension
Extension loading and unloading has now been fixed
Factoid
Factoid text fallback in certain malformed embed config cases now works properly
Add disabled, protected, and restricted factoid properties
New config entry for factoid admins
Hidden status can now only be changed by factoid admins
The info embed now shows if a factoid is hidden, protected, disabled, and/or restricted
Help
Help now properly indexes all aliases
Calling just .help will now explicitly say all commands
Nicknamefix
Manual way to fix a users nickname if they didn't get fixed automatically.
Protect
Purge now doesn't count it's own invocation message
Rule
Calling multiple rules now only sends a single message
Who
Status now shows the correct status instead of always offline
Whois for mods now shows if pending application and if banned from making applications
Changed the way that warnings are shown in whois
Fixed a minor typo in note_bypass config description
Dependencies
black -> 24.2.0
emoji -> 2.10.1
gitpython -> 3.1.41
hypothesis -> 6.98.4
pip -> 24.0
pipenv -> 2023.12.1
pydantic -> 2.6.1
pytest -> 7.4.4
pytest-asyncio -> 0.23.5
unidecode -> 1.3.8
Unit tests
Unit tests have been re organized to be more clear and readable
Commit list
- Bump hypothesis from 6.92.1 to 6.92.2 by @dependabot in #795
- Bump hypothesis from 6.92.2 to 6.92.9 by @dependabot in #824
- Bump pytest from 7.4.3 to 7.4.4 by @dependabot in #798
- Bump pytest-asyncio from 0.23.2 to 0.23.3 by @dependabot in #799
- Bump unidecode from 1.3.7 to 1.3.8 by @dependabot in #823
- Bump gitpython from 3.1.40 to 3.1.41 by @dependabot in #821
- Bump hypothesis from 6.92.9 to 6.97.4 by @dependabot in #848
- Bump pipenv from 2023.11.15 to 2023.11.17 by @dependabot in #834
- Bump pytest-asyncio from 0.23.3 to 0.23.4 by @dependabot in #841
- Bump black from 23.12.1 to 24.1.1 by @dependabot in #840
- The duck embed now says you missed more clearly by @ajax146 in #825
- Factoid info now shows if factoid is hidden by @ajax146 in #817
- Minor application improvements by @ajax146 in #816
- Fix status, add application information to whois by @ajax146 in #815
- Condense rule get into a single embed by @ajax146 in #814
- Make purge not count deleting it's own message by @ajax146 in #813
- Improve help functionality, fix some bugs, improve code by @ajax146 in #812
- Fix extension load/unload by @ajax146 in #810
- Fix factoid fallback in edge cases by @ajax146 in #809
- Bump hypothesis from 6.97.4 to 6.98.3 by @dependabot in #856
- Moves unit tests to folders based on where the original file is located by @ajax146 in #857
- Bump pip from 23.3.2 to 24.0 by @dependabot in #853
- Bump pipenv from 2023.11.17 to 2023.12.1 by @dependabot in #852
- Bump pytest-asyncio from 0.23.4 to 0.23.5 by @dependabot in #862
- Bump aiohttp from 3.9.1 to 3.9.2 by @dependabot in #844
- Bump emoji from 2.9.0 to 2.10.1 by @dependabot in #849
- Makes all arguments on generate_basic_embed optional by @ajax146 in #818
- Bump pydantic from 2.5.3 to 2.6.1 by @dependabot in #854
- Add user ID to bottom of application by @ajax146 in #858
- Bump hypothesis from 6.98.3 to 6.98.4 by @dependabot in #861
- Fix roll->role typo in who.py note_bypass config desc by @ajax146 in #864
- Add 3 new factoid properties by @ajax146 in #859
- Add manual nickname command by @ajax146 in #860
- Animal by @TheKrol in #866
- Bump black from 24.1.1 to 24.2.0 by @dependabot in #869
- Fix typo in the application DB column name, stauts->status by @ajax146 in #863
- Hide warnings on whois if there are no warnings by @ajax146 in #870
Full Changelog: v2023.12.26...v2024.02.13
v2023.12.26
Core features
Config is now stored in postgres
MongoDB is no more
Extensions were completely restructured
The entire core of the bot was completely refactored
Dog
New extension, similar to cat but now .dog prints a picture of a dog
Duck
Add a duck spawn command for debugging
Ducks are now spawned upon a release
Release is now on a hard cooldown
Listener
Now stored in postgres
Github
Will not load without an API key
Help
Is now searchable instead of only by extension name
Now includes slash commands and aliases
Nickname
Is now stored in a dedicated file
Rules
Now stored in postgres
Winerror
Fixed a minor error in hresult output
Dependencies
black -> 23.12.1
dateparser -> 1.2.0
emoji -> 2.9.0
hypothesis -> 6.92.1
isort -> 5.13.2
pip -> 23.3.2
pipenv -> 2023.11.15
pydantic -> 2.5.3
pylint -> 3.0.3
pytest-asyncio -> 0.23.2
Documentation
A huge documentation refactor occurred; most files were moved or renamed
The start of a development guide has been created, detailing how to develop and interact with the core of the bot.
Other
http functions got moved to a dedicated file
v2023.11.07
Core features
Fixed error when logging DMs
Improve error handling
Adjusted ratelimiting to be faster and less sensitive
Application
New applications will no longer say pending
The regular notification now says all pending applications
HTD
Fix minor typo in documentation
Logger
Now shows thread ID and channel ID
Hardcodes the avatar ID so users changing avatar doesn't break it
Slowmode
Add a slowmode command to modify slowmode of a given channel by the number of seconds
Winerror
New extension!
Searches the winerror database based on given input
Dependencies
black -> 23.10.1
gitpython -> 3.1.40
hypothesis -> 6.88.3
pip -> 23.3.1
pipenv -> 2023.10.24
pylint -> 3.0.2
pytest -> 7.4.3
Other
Code formatting changes
v2023.10.17
Core features
HTTP caching has been fixed
A global command rate limiter has been added
A few logging typos were fixed
Duck
Replaces cooldown with a config to disable manipulation
Factoids
Factoids no longer mention the invoker if someone was mentioned in the call
News
An invalid topic in news now defaults to generic
Protect
Alert cache now works again
Role
Adds error handling to the role extension
Removes the drop-down box after a selection has been made
Adds a lock to prevent more than 1 person from modifying roles at the same time on the same person
Adds timeout handling to prevent a timeout from removing all roles
Makes confirmation or rejection messages use the confirm/deny embeds
Adds proper type hints to the entire file
Makes final response show what roles were added and removed
Will ensure that a success message isn't shown if it isn't successful
Dependencies
gitpython -> 3.1.38
hypothesis -> 6.88.1
typing_extensions -> 4.8.0
pip -> 23.3
pipenv -> 2023.10.3
pydantic -> 2.4.2
pylint -> 3.0.1
Other
Minor code formatting changes