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

Butler George V2.0-dev #53

Merged
merged 143 commits into from
Nov 2, 2022
Merged

Butler George V2.0-dev #53

merged 143 commits into from
Nov 2, 2022

Conversation

Gregor7008
Copy link
Owner

This is the first pull request to merge V2 into the Main branch, as this is closer to the one version operating, than the current main branch is. For further information on all the changes, look into the project board or the issues linked down below.
Current branch is, accordingly, V2-ConfigLoader-Rework!

Keywords:
Closes #51, #12, #21, #20, #36, #47, #46, #45, #35, #44, #43, #11, #9, #8, #37, #29, #28, #25, #4, #34, #5, #7, #6, #17

Gregor7008 and others added 30 commits March 29, 2022 22:59
Note: As I had to cast AudioChannel to VoiceChannel sometimes, I expect bugs to occur as soon as the bot gets working with voice channels. But I'll leave that for the time being, the problem will occur soon enough. Main focus will be getting all the new functions up and running, then I'll start fixing bugs 😄
Well, nearly the whole bot is now on the multilanguage system (Except fot the select menu options etc.). Translation hasn't started yet, but I am currently trying to find some translators. Other than that: Replacing variables in answer messages is now WAY easier.
Next I will try to get going on the added goal: Integrating all language files into the finally compiled .jar file, but you can see that in the section "In Developement:" in goals.txt as well so...
Have a great night all!
Fixed a bug, where the placeholder, set by the Configloader on creating a new config file, showed up in /forbiddenwords list. Also: Removal of the /giveaway command as a complete rework is needed rather than a fix!
Note: Resource folder still exists and is necessary as the configuration files are still in there. I do not plan to take them out and put them in the jar file, but at least make it so that the bot creates all directories himself if needed. If they already exist, he should be able to use them.
On the long term im planning to make it SQL based anyways so... Configloader Rework COMING!!!
Deleted goals.txt as of 21.04.2022 we moved on to using GitHubs issue, milestone, label and project tools!
Visit the projects page of Butler George V2 on this GitHub page to learn more about the bugs that got fixed. And about the console rework: It just looks nicer and is structured better. So no more "System.out.println()" but "Bot.consoleEngine.debug(this, "WE GOT PROBLEMS")"!
Okay, I'm saying it how it is: Nothing is working at the moment. Maybe because I messed around with the most fundamental class of George: The Configloader. Well, at least we got MongoDB implemented now. Problem: I still do not know how everything works and how I am going to do it in the final release. But until then, I got a lot of time so I'll use that time and invest it into experimenting and researching lol. Have a great night!
NOTE: THIS IS NOT A STABLE BUILD AT ALL!
Yeah... So I'm done with programming both the ConfigLoader and the ConfigManager. Whether they work? I have no idea. And before you shout at me: No I can't check, because 90% of the bot isn't adapted to the new JSON system yet. I'm working on that though so I'm expecting everything to be ready within one week from now!
Nothing special to say about it other than it's pretty boring 😫
I'm a bit lazy these days, but maybe I'll be bored some time soon and get the final few files translated to the new system... But I got something positive to report: With the new JSONObject system checking all the cached members (as of running through all the configs) is WAY easier. 1. Get the cache, 2. .forEach() 3. Do whatever you want to do. It's so damn easy ❤️
Notice: ModMail rework done 😏
MongoDB is now finally fully implemented, including a caching option to not completely ruin any internet connection. Further details can be looked up in the source code. Other than that: The poll command has been removed as of bad design. Furthermore I have included the font to render the levelcards in the levelcard resource folder so it shouldnt change when changing the computer or the operating system. And: I added a "UnhandledExceptionHandler" within the ConsoleEngine, so when not handled differently the ConsoleEngine should from now on spit all the errors out and keep the bot stable.
Im neither done nor satisfied with it in any way, so see this is a progress save!
They are not indicating anything yet though
Renamed to ConfigVerifier.class whilst making ConfigLoader, ConfigManager and AnswerEngine static classes.
Also fixed bugs withing the ConsoleEngine UncaughtExceptionHandler implementation as well as the Levelreward bug (of the list causing an error)  mentioned in #28
And the more important advancement: I now know how to disable SelectionMenus on interaction with them 🎊
Had to be redone, as the first implementation didn't work.
This is a push in between start and finish of the rework, as there still have to be implemented the close subcommand as well as the final modmail handler responsible for resending messages etc.
Well it took me way too long, but I really didn't want to procede on this one... But I managed to get myself together and finish this project. It's actually hurting restricting myself from doing the ConfigLoader Rework before this project was finished, as it would've been more work for sure, but the modmail command implementation would've been WAY easier. Well, we'll see what the future brings us.
ModMail Handler next then 👋
There were multiple bugs that weren't noticed as of inextensive testing and the little use of the function. The function should be bug-free now, although there is a rework on the way anways #18 ...
Project is ready for the ModMail Handler now - If there's still a seperate engine needed after all
ModMail rework is now completed! LETS GO 🎉 😉! Well, it took me enough time didn't it?
Bugs: no response, no action, wrong emoji code storage.
Also queued an update to the reactionrole command containing the implementation of the "list" sub operation as well as select menus instead of the simple quesiton and response  selection currently used.
Its now way more user friendly and seemingly bug free.
Reactionrole configuration also works with custom emojis now - As long as they are available to the bot...
Furthermore I fixed an expected bug in the LanguageEngine concerning the replacing of anonymous inner class name indicators ($1, $2 etc.), as I only replaced $1 completely disregarding two such classes being present in one super class. It works with regex expressions now, so there can be as many anonymous inner classes calling the LanguageEngine as no one could ever want!
There are no options available yet, so the handling part in /configure has been commented out and replaced with a "unsupportedBG" reply.
...was  V2-CommandRework but is now invalid as of the branch having been merched in to this branch.
Commited seperately as the ConfigLoader rework is on it's way and I wanted to seperate it commit wise...
@Gregor7008 Gregor7008 added this to the V2.0-alpha milestone Nov 2, 2022
@Gregor7008 Gregor7008 self-assigned this Nov 2, 2022
@Gregor7008 Gregor7008 merged commit 23eebc7 into main Nov 2, 2022
@Gregor7008 Gregor7008 deleted the V2 branch November 2, 2022 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant