This would definitely take a long time to add, and there’d definitely be issues, but it would be really awesome.
People could make public “projects” that are read only, and other people could fork them and use them. They could submit a pull request and the author could accept/deny it. They could also merge two projects together, for example merging their own bot with a fork of a public one.
For private “projects,” it would also let people have multiple branches, such as “Master,” “Testing” and “Add Moderation” and other stuff like that. The author could merge the forks back into Master at any point. This would be really helpful for developing large features and having a separate test server.
In order to actually choose what servers have what branches, people could use one of their Ultimate slots (I figure this would be Ultimate only) to create a “bot” that would contain one or more different forks of the same “project.” For example, I could have this “project”:
- SuperBot (“Project”)
- Branches
- Master
- Beta
- Add moderation
- Add chatbot
- Add leveling
- Bots
- Public
- None
- For Testing Server
- Beta
- Add moderation
- Add chatbot
- Add leveling
- For Staff Server
- Add Moderation
- Add Leveling
- Public
- Branches
Each “Bot” would be it’s own unique bot as far as Discord is concerned. For bots with multiple branches, Inventor would apply “Master,” and then apply the delta from each branch in order. There could be issues with overlap, but that could be fixed with an incrementing number for duplicates, rejecting the creation/updating of the “Bot”, or warning the user of the issue.
While this would certainly be a lot of work to implement and there’s many more nuances than I covered here, I think that it would be amazing to have for people who are making more complex bots on Inventor. Perhaps it would be locked behind a toggle in the settings though, as it’s definitely not suited for less-advanced users.
Thanks!