Releases: MajorTanya/DTbot
DTbot v3.7
Changes:
- Added Database migration capability to launcher, allowing for table/procedure modifications at bot startup (should new features need, say, new fields or procedure arguments)
- Expanded use of environment variables to the database ConnectionPool
- Removed single-episode credits from
/anime
results - Added comma as thousands separator and period as decimal separator to all
/maths
group commands - Fixed
/kmmi
conversion doing the wrong calculation - Made DTbot work correctly with Discord's new username/global display name system
- Added 'Made with' field displaying discord.py and Python versions to
/info
- Changed
/anime
'Episodes' field to 'Runtime' should the result be a Movie, and changed the text content of the field to '[count] Movie[s] à [duration]' (e.g., '1 Movie à 120 Minutes') in that case - Fixed a potential AttributeError in utils.rint
- Increased rint precision in
/maths
group commands to 3 digits - Introduced user ability to supply up to 5 arguments to
/maths add
,/maths subtract
, and/maths multiply
- Other minor improvements, check out the commit messages from the Full Changelog below.
Full Changelog: v3.6...v3.7
DTbot v3.6
Changes:
- Fixed an issue where
/request
wouldn't show the request's actual text - Refactored the logging setup to utility methods
- Introduced the
black
code formatter for better code uniformity - Introduced
database_utils.py
, and moved all database-related utility methods there - Added server table entry invalidation to
/dev refreshservers
(marks the server as left in the database) - Moved database ConnectionPool creation to the
setup_hook
method to avoid a race condition where the pool would depend on a database that launcher.py hadn't set up yet - Redefined all Stored Procedures in the server-side database not to use OUT parameters any more
- Introduced
python-dotenv
for secrets storage, such as the Discord token, database credentials, and developer passcodes for/dev heart start/stop
and/dev shutdownbot
- Other minor improvements, check out the commit messages from the Full Changelog below.
Full Changelog: v3.5...v3.6
DTbot v3.5
DTbot v2 was retired 2022-12-31.
Changes:
- Fixed the default Activity defaulting to one with mentioning syntax (now prompts to use
/announcements
) - Added several attributes to
/anime
&/manga
(English Title, Source (source material), Next Episode Air Date (for anime), Studio (for anime), and Staff (creators, directors, artists, etc.) - Added context managers for initial database setup in launcher.py
- Replaced literal types for database procedure names with a StrEnum, and added more specific overloads for
dbcallprocedure
- Other minor improvements and refactorings, check out the commit messages from the Full Changelog below.
Full Changelog: v3.4...v3.5
DTbot v3.4
Changes:
- Fixed an issue where a timed out PaginatorSession would not clean up its buttons
- Fixed an issue where
/whohas
would not respond when a role has no members - Increased page limit for
/whohas
from 10 to 15 - Replaced usages of the requests library with aiohttp.ClientSession calls to make network calls non-blocking and asynchronous
- This is the recommended practice by the discord.py documentation anyway
- discord.py already depends on aiohttp, but for added clarity and safety, it replaced requests in the requirements.txt
- Other minor improvements, check out the commit messages from the the Full Changelog below.
Full Changelog: v3.3...v3.4
DTbot v3.3
Changes:
We removed several commands because we were notified by Discord that some (unspecified) content of DTbot was in violation of Discord's content policy for App Discovery.
In trying our best to adhere to these policies and to get DTbot accessible to more users, we have removed the following commands:
- Violent content:
/bite
,/choke
,/kick
,/kill
,/whip
- Sexual content:
/lewd
- Gambling-adjacent or addictive content:
/roulette bet
,/roulette spin
,/roulette table
,/russianroulette
We do not know if this will be the extent of removals, but to us, these seem to be the only commands that could possibly be violations.
We're sorry for the feature loss on v3, and hope you will continue to enjoy DTbot v3.
Full Changelog: v3.2...v3.3
DTbot v3.2
Changes:
- 93bbea4: Reconnect on database connection timeout
- 6d4b2fa: Use Context Manager for DB Connection and Cursor
Full Changelog: v3.1...v3.2
DTbot v3.1
This release contains various fixes, it (re)introduces the Application Command usage statistics, and adds a new /serverinfo
command.
It also marks the switch from an old version of mysql-connector-python
(8.0.14, see PR #4) to the official MariaDB Python Connector mariadb
, which required some code migrations (3a1b9e2).
dbcallprocedure
now only takes certain literals for its procedure
parameter. This mainly helps to avoid typos in the IDE, as this limitation is not enforced at runtime but serves as a type-checking help during development.
What's Changed
- DTbot now uses
mariadb
, which replacesmysql-connector-python
v. 8.0.14 dbcallprocedure
only accepts certain literals for itsprocedure
parameter
Full Changelog: v3.0...v3.1
DTbot v2.7
1d6ae19 makes the config for DTbot an instance attribute of the DTbot class, to be passed as an optional constructor parameter. The config will be instantiated and initialised by the init method of the DTbot class if no config was provided.
Similarly, the startup_time
value in DTbot.py has been replaced with a new bot_startup
attribute of the DTbot instance.
This loosens the import chain coupling of some modules and makes hot reload config changes for things like version numbers significantly easier.
These changes were backported from the v3 branch.
What's Changed
- The
config
andstartup_time
attributes can no longer be imported from DTbot.py. They have been replaced with thebot_config
andbot_startup
attributes of the DTbot instance.
Full Changelog: v2.6...v2.7
DTbot v2.6
This release marks the beginning of v2 ("classic") in maintenance-only operation.
As stated in the README.md section on the new rules around Message Content, this version will stay available with the @DTbot somecommand
syntax ONLY, other prefixes are dead for good.
Some backend or utility features may be backported (like in dd0e058 and 1d6ae19), but new commands or similar will only be added to the v3 branch.
What's Changed
- All prefix-related things have been removed (35dffec)
- DTbot v2 now uses discord.py v2+
Full Changelog: v2.5...v2.6
DTbot v3.0
This release is the beginning of DTbot v3, which is based on Application Commands (aka Slash Commands) exclusively.
Most commands were transformed into Application Command equivalents essentially unchanged, but not all. A full list of old vs new commands will be written eventually; in the meantime, check out DTbot's commands in the chat prompt for Application Commands.
This version is only usable with Discord's Application Commands, meaning they have to be invoked by typing /somecommand
into the chat box and selecting the command from the prompt, then filling in its parameters (if the command has any).
What's Changed
- Honestly too much to be listed here, check out the full changelog below to see it all. Click through the commits individually. (18 changed files with 1,369 additions and 1,811 deletions, according to GitHub)
Full Changelog: a80bd43...v3.0