Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Goldy Bot v5.1 - 🥞 Pancake #113

Open
THEGOLDENPRO opened this issue Dec 17, 2023 · 3 comments
Open

Goldy Bot v5.1 - 🥞 Pancake #113

THEGOLDENPRO opened this issue Dec 17, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@THEGOLDENPRO
Copy link
Contributor

THEGOLDENPRO commented Dec 17, 2023

Hey devs, today I plan on making big changes with the Goldy Bot framework moving forward.

It was February 2023 when I began developing gbot v5 but ever since then, the project has grown into an enormous complex framework. The issue is back in Feb 2023 I messed up hard on the structure of the framework and each week the bugs and issues reflect that.

I want to rewrite the existing codebase but from past experiences, I've come to the conclusion that throwing away the old codebase is not a good idea as everything that currently relies on it will need to also be rewritten and I have very limited time so I decided on building a library that from now on everything will interface with. It's important to develop this without touching the old library so old extensions can continue interfacing with it without a problem.

The goal is to perform a slow rewrite by developing a new library that heavily abstracts good code from the old lib but rebuilds on the bad parts of the codebase. By rebuilding implementations and abstracting the old rusty interfaces I believe the new lib will offer more stability. That's what pancake 🥞 (v5.1) will be.

Features --> #113 (comment)

@THEGOLDENPRO THEGOLDENPRO added the enhancement New feature or request label Dec 17, 2023
@THEGOLDENPRO THEGOLDENPRO self-assigned this Dec 17, 2023
@THEGOLDENPRO THEGOLDENPRO pinned this issue Dec 17, 2023
@THEGOLDENPRO
Copy link
Contributor Author

THEGOLDENPRO commented Dec 28, 2023

Todo Notes

  • Port old database into pancake core class.
  • Removal of registered guilds (guilds key in config).
    • Register guilds on guild join.
    • Complete guild /config command.
    • Add setup command to guide guild owner through configs.
  • Cache application id in goldy cache.
  • Cache repo data in goldy cache.
  • Complete goldy.__check_extension_legibility.
  • Rename goldy._register_commands to goldy._sync_commands.
  • Make goldy._sync_commands remove commands that are no longer registered in the framework and bulk add commands (if more than one) that aren't already added. Don't bulk add if only one command needs to be added. MAXIMUM OPTIMIZATION!
  • Pass slash option arguments into command.
  • Wrap interaction response requests in send_message into a goldy class discord wrapper.
  • Add embed class for pancake
  • Add button component
  • Add "🤓 nerd stats" button on every message sent on testing guilds to display performance profiling times for that particular response.
  • Cache previously registered command payload. (this won't work well)
  • Get applications commands from discord and check if all of them have been added. If not create them again.
  • More than one auto complete option support.
  • Command dependencies system.

@THEGOLDENPRO THEGOLDENPRO changed the title 🥞 Goldy Bot v5.1 Pancake Goldy Bot v5.1 - 🥞 Pancake Dec 28, 2023
@THEGOLDENPRO
Copy link
Contributor Author

THEGOLDENPRO commented Jan 1, 2024

What's coming and what's being dropped in 🥞 Pancake?

Note

This is an early feature list so features may change or be removed at any morment.

💣 Features I'm dropping.

  • Prefix commands ~ lack of usage and too much code to maintain, there's simply no point
  • required_roles ~ command permissions will now be entirely handled by guild admins, dev only commands will only register in the test guilds during development mode
  • live console ~ I've had a lot of problems with it, you can see them in this issue Extension reloading is broken. #92 and also I'm working on a live console in the gui (more will be mentioned below) anyways, so that will be it's replacement.
  • old namespace ~ import GoldyBot will be deprecated for a new interface in the namespace goldy_bot.

✨ New Features

  • Goldy Panel ~ A web gui that can be used by developers to interact with the framework while it's running live.
  • Goldy Cache ~ A system that caches certain data from the framework in disk for faster start up times.
  • Unloaded commands on the framework now get automatically deleted from discord.

@THEGOLDENPRO
Copy link
Contributor Author

I plan to release v5.1 on February the 28th.

@Goldy-Bot Goldy-Bot locked and limited conversation to collaborators Feb 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant