Skip to content

Releases: r-Techsupport/TechSupportBot

v2024.08.19

19 Aug 22:18
5b3a792
Compare
Choose a tag to compare

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

Full Changelog: v2024.07.06...v2024.08.19

v2024.07.06

06 Jul 17:51
c1f173f
Compare
Choose a tag to compare

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

Full Changelog: v2024.04.30...v2024.07.06

v2024.04.30

30 Apr 17:58
0eb63f1
Compare
Choose a tag to compare

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

Full Changelog: v2024.04.13...v2024.04.30

v2024.04.13

13 Apr 17:57
4b69502
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v2024.02.13...v2024.04.13

v2024.02.13

13 Feb 14:35
3e906fe
Compare
Choose a tag to compare

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

Full Changelog: v2023.12.26...v2024.02.13

v2023.12.26

26 Dec 13:18
645b817
Compare
Choose a tag to compare

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...v2023.12.26

v2023.11.07

07 Nov 19:52
12e87f8
Compare
Choose a tag to compare

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...v2023.11.07

v2023.10.17

18 Oct 00:03
92f9d6c
Compare
Choose a tag to compare

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

v2023.10.03...v2023.10.17

v2023.10.03

03 Oct 22:56
84dd223
Compare
Choose a tag to compare

Core features
Fixed a harmless bug causing an error when pages were trashed

Application
Has been completely rewritten and reimagined from the ground up
Now uses the new modal system

Relay
Fixed a double space in reaction messages

Role
Added the role manage command to the context menu

Dependencies
black -> 23.9.1
gitpython -> 3.1.37
hypothesis -> 6.87.1
motor -> 3.3.1
pipenv -> 2023.9.8
pylint -> 3.0.0
pytest -> 7.4.2
unidecode -> 1.3.7

Other
Moved event handlers to a dedicated file
Replaced all import base with from base import

v2023.09.01...v2023.10.03

v2023.09.01

01 Sep 21:38
2db40ae
Compare
Choose a tag to compare

Core features
You can now set a channel for guildless events to be sent to, instead of only to the owners DMs
A new .config reset command has been added, allowing for the config to be reset
.config patch now confirms the correct guild config is being modified
LoopCogs will not run multiple times in the same channel anymore
Reboot no longer errors if IRC is disabled
The help command will now show if the extension is disabled, unloaded, or not found
Extensions requiring API keys will fail to load if API key is missing
The core logging system has been rewritten to be more robust
Any role changes the bot does will now be logged with reasons in the audit log

Autoreact
New extension added

Cat
New extension added

Duck
The way times have been processed has been changed to use message created_at times
All duck messages will now include the exact time in the footer
Ducks killed or befriended in private channels will no longer be logged

Factoid
Will no longer error if IRC is disabled
Factoid search has been fixed
Looped factoids are properly sent to IRC
Factoid loops work again

Grab
If no channels are whitelisted, grab works in every channel

Joke
API limit was raised

ISS
Rewrite how embeds are built

Logger
Logger will not error if file uploads are too large
Logs will now contain the original message ID
Logs will now show the global nickname and server nickname, if they are different

Protect
Pastes will not fail if files are too large
Mute is better at interpreting time

Relay
Won't load if IRC is disabled

Role
Slash commands how have proper descriptions
/role assign is renamed to /role manage

WYR
Questions have been moved to a dedicated file

XKCD
.xkcd # works now

Dependencies
dateparser is now a dependency
discord.py -> 2.3.2
emoji -> 2.8.0
gitpython -> 3.1.33
hypothesis -> 6.83.0
motor -> 3.3.0
pipenv -> 2023.8.28
pydantic -> 2.3.0

Other
General improvements to http calls and performance
auxiliary.py and util.py were merged
Postgres table declaration and usage have been moved to a new location
Fixed the logging for nickname filter being unable to DM
New guild configs will now have all loaded extensions enabled by default

v2023.08.13...v2023.09.01