itsdrike / code-jam-2024 Goto Github PK
View Code? Open in Web Editor NEWPython Discord's Code Jam 2024, Contemplative Constellations Team
License: MIT License
Python Discord's Code Jam 2024, Contemplative Constellations Team
License: MIT License
Add a section to the readme above the installation guide, that explains what our bot actually does. This can include some demonstration screenshots / video captures.
Sometimes, the error message shown by the error handler is not sufficient to figure out where an issue occurred. This is because it only shows the error class and the message. It would be nice to add a button that could modify the embed / send another embed / do something else to show the entire traceback to the user.
Alternatively, maybe this button could even directly open a github link with the body pre-filled to contain this exception (these links look like this: https://github.com/ItsDrike/code-jam-2024/issues/new?title=Issue%20Title&body=Issue%20Body) or maybe the traceback could get uploaded somewhere automatically and the error embed can just show some reference number under which we can find it.
If it doesn't clutter the embed, we could even include it directly, but I think in most cases the traceback is just way too big for that to look visually good in the error embed.
ValueError: invalid literal for int() with base 10: 'list-8116'
gives this error when i tried to do avatar the last airbender and didnt add the : sign
This is a low priority task for us, we can finish without having any unit-tests in place, however, it can provide a fun and useful task for someone if they can't find anything else to work on.
It would be very cool to be able to compare your profile with someone else's to find all of the shows / movies that you both seen, etc.
Idea by @Paillat-dev
Requires #27
We already support showing details on movies / shows, but not on individual episodes.
Requires #34
Add an autocompletion feature using pycord's basic autocomplete.
For unload and reload, it should iterate over the bot's already loaded extensions. For load, it should use iglob or glob from the glob builtin to show all the available extensions in files.
Autocomplete, unlike choices
does not enforce the autocompleted fields, which can still allow you to unput whatever you want, and that is nice
Add utility methods to ctx, for example ctx.error
that allow to show an error (ex. a parameter is required when used in combination with another) while staying in theme with the other errors. Maybe it could even then be used inside of the error_handler
ext. to send the errors.
For reference:
The LICENSE
file should contain all of the contributors names and emails in the copyright / attribution section (just like those in pyproject.toml). Right now, it just says Python Discord
, since that's a remnant from the original template repository owned by python discord.
While we don't have that many commands right now, this number will definitely grow and will likely result in the help embed being way too big (possibly even surpassing the maximum character limit for the embed). Because of that, we'll need to add support for pagination of the help command.
This should ideally be done with discord' interactive button components.
Currently, we only explore 1 level of subcommands and print whatever is in there, however, the subcommand might actually be another subgroup, which means we'll need some recursive logic there
We could use redis in the bot for caching the api results and potentially various other things. However, integrating redis would mean everyone would need to have a redis instance available to be used when developing, or be forced to use docker. This may be a bit too complex for the contributors.
To avoid this complexity, @Paillat-dev has suggested using https://github.com/aio-libs/aiocache, which can just store the records into memory on it's own, without redis running on the side. This does indeed look very interesting, as it allows us to still have a cache service without the complexities involved with setting it up as a service running externally.
The aiocache library also supports actual redis integration, so it would even allows us to switch to redis eventually, if we would want it.
Unless it's deemed that cache really is needed though, we don't necessarily have to do anything.
We'll definitely need a database for the bot as we go on, we'll need to add support for it. Most likely, just using sqlite
will be enough here and it will make it a lot easier for everyone involved when compared to having to work with a full dbms, like postgresql.
Question is whether or not we'll also want to do ORM (sqlalchemy) or just write some simple crud classes, or work directly with SQL everywhere. As much as I like sqlalchemy, it's probably a bit too involved and complex for us now. As for writing SQL directly, that could lead to issues and is probably more complex than just exposing some basic crud classes that everyone can use even without being familiar with SQL.
There should be a command that allows the user to mark certain episodes as watched.
Requires #22
Add classes and ev. methods to work with series seasons and episodes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.