Skip to content

Releases: crackhex/TAS-Comp-Bot-py

TASCompBot v0.3.3

08 Dec 05:15
680d613

Choose a tag to compare

Changelog:

Full Changelog: v0.3.2...v0.3.3

TASCompBot v0.3.2

08 Nov 20:46
c897e5f

Choose a tag to compare

Changelog:

  • .zip file implementation and refactor by @Dash-QC (#58)

Full Changelog: v0.3.1...v0.3.2

TASCompBot v0.3.1

28 Oct 20:59
d98d360

Choose a tag to compare

Changelog:

  • Fixed incorrect parsing of file extensions by @Dash-QC
  • Fixed resubmissions changing submission list order by @Dash-QC (#56)

Full Changelog: v0.3...v0.3.1

TASCompBot v0.3

24 Sep 09:40

Choose a tag to compare

End-user features and changes

New features

  • New comprehensive and detailed $help module!
    • $credits has also been updated
  • $info (aka $status) has been reorganized, and now shows upload date of your submission!
  • For competitors in a team, if a host edits your submission status (time/DQ), all team members are notified
  • $8ball has been improved!
    • New possibles messages for yes/no questions, and when questions
    • who questions are now supported!
    • rate is also now supported! 8ball will rate your stuff!
    • The bot now "thinks" a bit before responding!
  • Team (and user) names have now been limited to 50 characters, instead of the previous 120 characters.

Changes for hosts

  • New /set-file to switch between accepting .rkg, .dat, or .dtm files.
  • /start-task has been reworked;
    • multiple_tracks argument is gone
    • deadline argument is now required.
    • speed_task argument is now a True/False instead of writing 1 or 0. You can also leave blank, it will act as a False.
  • $/get-submissions now provides a downloaded .bat file that downloads all ghosts for you!
  • $/get-results now uses ordinal placings, and is formatted just like the official results.
  • $/hostdissolve now takes a competitor as an argument instead of looking at $teams and taking the index...
  • New $/hostkick command to kick only a single person from a team. (For teams of 2, this command acts the same as $/hostdissolve)

Changes for admins

  • New /set-comp that allows to map the current server to a comp (mkw, sm64, etc).
  • /config command now exposes optional arguments only. It will only change the configs for which you have passed as argument.

Miscellaneous / QoL / bugfixes

  • During a collab task, host commands such as /delete-submission, /edit-submission now work on any competitor in the team as an argument
  • All host commands are now hybrid, whereas user commands are now prefix-only.
  • Host commands now show help tooltip when viewing arguments, and the function as a whole.
  • New aesthetics for dm logging.
  • Any unhandled bot errors or exceptions are now logged in the logging channel, with traceback.
  • If a player submits solo, then joins a team and resubmits as a team, it now automatically deletes their solo submission
    • Similarly, if a team is dissolved, their submission (if any) is now automatically deleted.

Removals

  • Removed mentions in the submission list (now that $setname is admin-only, and names accurately reflect who the user actually is, the @mention is no longer needed)
  • Removed economy system
  • Removed most fun commands due to low usage; the only fun commands remaining are $slots and $8ball.
  • Removed automatic responses from messages such as crazy, when stream and kierio.
  • Removed 👀 reactions upon join, and ✈️ reactions upon 😃 message.

Technical changes

  • Domain driven design & hexagonal architecture
    • The code is separated in 4 categories: domain (business logic), repositories (ORM & db access), application (services that use the domain & repositories, parsers, etc.) and adapters (discord commands and events)
    • Code separation as laid out above allows for separating command & events from business logic and direct db interaction, as opposed to before where it was the case...
    • Much more object oriented than previously
      • Use of User, Submission, Task, Team, SubmissionFile classes & objects and many more...
  • Much more scalable submission handling (for different comp/games) and file type handling
    • BaseSubmissionService class that provides default submission handling. Provides comp-agnostic necessities like removing a submission, editing status and such (but NOT enough on its own for handling a full-blown submission -- see below).
    • The base submission service provides a submit(...) template method, with the general steps of submitting, with child classes of submission service (like MkwSubmissionService) that must redefine 2 of the steps from the algorithm for customizing the submission process.
    • Use of the FileParser class (such as in the submission services) for handling different file-types upon submissions. The strategy design pattern is used, which allows for the parsing of different file-types via the parserStrategy attribute.
    • NullSubmissionService and NullParserStrategy are the default when running the bot for the first time. If you forget to change them via commands, you will be prompted to modify those via /set-comp and /set-file, to use the appropriate Submission service and parser strategy.
  • Submissions now have an attribute for its upload date. It can be seen in $get-submissions as a host, or in $info.
  • Submissions are now tied to a team (if applicable, otherwise null for solo submissions), which makes things easier code-wise for team submissions

Full Changelog: v0.2.9...v0.3 (all changes by @Dash-QC)

TASCompBot v0.2.9

10 Jun 23:59
22391d9

Choose a tag to compare

Changelog:

TASCompBot v0.2.8

21 May 21:30
74daf22

Choose a tag to compare

Changelog:

  • Minor upgrade to $task-info, improvements to team names, updated $help, and various bugfixes by @Dash-QC (#42, #43)
  • Fixed unhandled exception in on_ready by @Dash-QC (#46)

TASCompBot v0.2.7

19 Jan 01:44
e3b6ea0

Choose a tag to compare

Changelog:

TASCompBot v0.2.6

21 Dec 23:03
19167ef

Choose a tag to compare

Changelog:

TASCompBot v0.2.5

19 Dec 09:34
06d4d55

Choose a tag to compare

Changelog:

  • Setname and submission overhaul by @Dash-QC (#29)
    • Submission list is regenerated from scratch upon any change that affects it (new submission, deleted submission, submit command, team dissolve)
      • Unfortunately not all team updates are covered quite yet (#35)
    • Submission table has a new index column, which prevents a ton of submission list bugs
    • $/setname command is now admin only (#20)
    • Changing display name and resubmitting no longer adds a new submission (#27)

TASCompBot v0.2.4

18 Dec 06:17
dcae2bb

Choose a tag to compare

Changelog: