Skip to content

Releases: MajorTanya/DTbot

DTbot v3.7

31 Jul 23:45
7487449
Compare
Choose a tag to compare

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

29 Mar 01:24
efd1145
Compare
Choose a tag to compare

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

29 Mar 01:14
2fc646f
Compare
Choose a tag to compare

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

13 Nov 09:46
0819492
Compare
Choose a tag to compare

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
  • Other minor improvements, check out the commit messages from the the Full Changelog below.

Full Changelog: v3.3...v3.4

DTbot v3.3

13 Nov 09:37
b7de6cf
Compare
Choose a tag to compare

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

13 Nov 09:35
6d4b2fa
Compare
Choose a tag to compare

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

03 Oct 03:52
3a1b9e2
Compare
Choose a tag to compare

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 replaces mysql-connector-python v. 8.0.14
  • dbcallprocedure only accepts certain literals for its procedure parameter

Full Changelog: v3.0...v3.1

DTbot v2.7

03 Oct 03:12
e7ec60f
Compare
Choose a tag to compare

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 and startup_time attributes can no longer be imported from DTbot.py. They have been replaced with the bot_config and bot_startup attributes of the DTbot instance.

Full Changelog: v2.6...v2.7

DTbot v2.6

03 Oct 02:50
3b6dca7
Compare
Choose a tag to compare

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

03 Oct 03:37
6a041e7
Compare
Choose a tag to compare

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