-
Notifications
You must be signed in to change notification settings - Fork 4
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
dasgo future: discord-api-spec #20
Comments
February 7, 2025Here is an update that helps you understand
#20 (comment) contains context relevant to this update. Objective: Generation via OpenAPI specificationThis objective cannot be 100% completed at this time. The https://github.com/discord/discord-api-spec contains issues indicating that the OpenAPI specification is missing features (e.g., discord/discord-api-spec#37).
So, we must always use manual effort to update So, we can autogenerate certain features (e.g., endpoints, events, codes, etc) based on the OpenAPI specification, but not the entire specification. Objective: Generate a Discord API Wrapper in Go based on a machine-readable API specification.We will not generate a Discord API Wrapper in Go based on a machine-readable API specification, but rather
Generating a Discord API Wrapper in Go based on a machine-readable API specification lowers energy costs (i.e. time, money, human mental effort) when creating a Discord bot, API wrapper, or software related to these things (e.g., other platform's API wrapper). Here is a simple explanation.You can theoretically use the Generating a Discord API Wrapper in Go based on a machine-readable API specification means there is no human-readable "separation" between the API wrapper ( Therefore, removing the "separation" (i.e., the type library) requires the developer to waste more energy developing Discord API wrappers and other API wrappers. Here is a complete explanation.The end goal of an API Wrapper is for the user to be able to input a human-readable text and output a working bot. Generating a Discord API Wrapper in Go based on a machine-readable API specification means there is no human-readable "separation" between the API wrapper ( Therefore, removing the "separation" (i.e., the type library) requires the developer to waste more energy developing Discord API wrappers and other API wrappers.
Here is an example.Input: "Create a bot that adds a role to a user when the user sends a message in channel XYZ." Here is the reality.Input: "Create a bot that adds a role to a user when the user sends a message in channel XYZ."
So, using Artificial Intelligence to pattern match information such that it generates a binary code is theoretically possible. However, the human programmer may need to edit this code when the human programmer must conserve energy (e.g., money).
So, removing Also, you cannot "copy" the rate limiting logic from
In the future, an Artificial Intelligence could ignore every human-readable concept and generate code that is 100% optimal by removing code in the binary when required. However, that future is not within the scope of this project. Objective: You — the user — are responsible for updating
|
Discord released a Discord OpenAPI Specification.
Dasgo's future objective is to be solely generated using this OpenAPI specification.
Context
Prior to March 2022: @switchupcb has an idea for a growth community and requires custom Discord Bot functionality.
March 2022: @switchupcb wants to create a Discord API Wrapper in Go based on a machine readable API Spec.
March 2022: We created https://github.com/switchupcb/discord-api-spec because Discord did NOT provide an API Specification, but this failed due to the explanation at switchupcb/discord-api-spec#4 (comment).
April 2022: https://github.com/switchupcb/dasgo is created to provide a direct representation of Discord API Objects in Go.
July 2022 https://github.com/switchupcb/disgo release is generated from Dasgo.
Disgo owners further promote the discussion surrounding the machine-readable API schema at discord/discord-api-docs#3235.
Disgo owner (@switchupcb) gets temporarily banned for a month after handling a critic "unprofessionally" when he documented an issue related to Gateway Rate Limit Reset Abuse.
July 2023 Discord releases the https://github.com/discord/discord-api-spec.
July 2023 https://github.com/switchupcb/disgo/releases shows Disgo development stop (mid-voice implementation).
Dasgo and Disgo halt development for some time as @switchupcb deals with homelessness.
Oct 2024 @switchupcb beats homelessness.
Feb 2025 @switchupcb is solving this problem again — not motivated by a desire to complete dasgo — but rather to finish his community.
The text was updated successfully, but these errors were encountered: