Releases: r-Techsupport/TechSupportBot
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
v2023.10.03
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
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
Core features
The checking for registered channels log was moved to debug
Guild config can now change keys with a confirmation
API rate limits are now handled by the API calls themselves, not the command calls
Nicknames can now be modified to be ascii and markdown free automatically
Ducks
The duckQuotes.txt file was moved to a seperate folder
Duck kill and donate will fail sometimes
There is a long timeout on duck kill and donate to prevent abuse
The auto timeout on miss has a new check to prevent errors
Factoids
The loading factoid jobs log is now a debug log
Raw
Was removed
Relay
Messages being sent to IRC are being cut at 430 now
SASL connection is now properly done using ib3
Dependencies
ib3 added as a dependency
emoji -> 2.7.0
hypothesis -> 6.82.3
pip -> 23.2.1
pipenv -> 2023.7.23
pylint -> 2.17.5
mongodb -> 6.0.7
postgres -> 15.3-alpine
Other
Pylint now checks for all style warnings instead of just errors
Unused port forwards removed from docker compose file
The IP range used by the file has changed
The DEBUG option was added to the default.env
The config.yml file as been compeltely reformated
The linx and dumpdbg API URL have been moved to config.yml
v2023.07.22
Core features
TS will now log role changes
Errors over 1000 characters will now be cropped in the channel deny message
Added type hints to base.BaseCog
Help menu is now sorted alphabetically
.bot is now inline
.bot shows IRC connection info
.reboot actually works now
All RabbitMQ features have been removed from the bot
Config patch is instantly applied now
Application
No longer sends data to IRC
ChatGPT
Add docstrings/comments
Fix a bug with a missing return
Some minor improvements/refactors
Directory
Has been removed
Duck
Fix missing space in DM when a miss occurs
Timeout now matches the configued cooldown
Fixed a small typo in the help message
DumpDBG
Won't fail silenty if no roles are set anymore
Embed
Minor code refactor
Emoji
Emoji now errors when reactions would be above 20
Factoids
New command: .factoid search. Search factoids for name and/or content
New command: .factoid flush. Admin only, clears cache
Delooping a factoid takes effect instantly now
Anyone with admin perms can now request hidden factoids using factoid all
Factoids with active loops can now be deleted or modified
If debug logs are enabled, invalid factoid calls are logged
Factoid all is now cached
Factoids can no longer be created with spaces in the name
Factoids can no longer have HTML tags in the name or text
Factoids that are too long now throw an error
Factoid fallback now works properly in both manual and looped calls
Factoid all now has some simple CSS styling
All factoids are now case insensitive
Factoids are actually modified in the db instead of being recreated
Aliases will not longer be deleted if forget is declined
Factoids will now reply to the invoker
Removed factoid response processing
Fixed some output inconsistencies
Hangman
Minor refactor
Logger
Will no longer show a discriminator of 0
Member
New Module
Anyone with manage roles can get a dump of all members with a given role
Protect
Make error responses from the bot say the correct negative action
Auto actions will now ping the offender again
Relay
Has been completely rewritten from scratch. IRC is now built directly into the bot
IRC links are now stored in postgres
New .irc ban command allows anyone with ban members to ban people on IRC
IRC embeds will now show hostmask
Role
Slash commands are now logged in bot events
Who
Shows a more descriptive error if no roles are setup
Slash commands are now logged in bot events
WYR
Major code refactor
Performance improvements
Dependencies
Locked pip version, starting with 23.2
Added bidict and irc as dependencies
Removed aio-pika
black -> 23.7.0
gitpython -> 3.1.32
hypothesis -> 6.82.0
pipenv -> 2023.7.11
pydantic -> 2.0.3
pytest-asyncio -> 0.21.1
pyyaml -> 6.0.1
Unit tests
Add a cleanup step in some tests to avoid conflict and start every test with a clean slate
Added a MockReaction object
Message now has a reactions variable and an add_reaction function
Added 4 new unit tests for emoji
Added 7 unit tests for WYR
Other
make devbuild has been Added
The Makefile will now use docker-compose or docker compose dynamically
Fixed make lint
Unused battle.net config items were removed from the default config
New IRC entries in the config.yml file have been added
RabbitMQ was removed from the docker container