discord-net / Discord.Net

An unofficial .Net wrapper for the Discord API (https://discord.com/)
https://discordnet.dev
MIT License
3.34k stars 736 forks source link

[Feature/Discussion] Expose more low-level APIs, remove "internal" access modifier from DiscordRestApiClient #2486

Closed eesquibel closed 2 years ago

eesquibel commented 2 years ago

Expose more low-level APIs, remove "internal" access modifier from DiscordRestApiClient, among others.

I may be missing the background to this, but there seems to be a preference toward internalizing a very large set of the backend APIs used by the Discord.NET project.

This really limits the use for the library in more creative use-cases.

My personable example:

Unfortunately, there is no direct way via the Discord.NET public APIs to update the interaction response outside of the initial SlashCommandExecuted event handle as all the associated classes either have internal constructors, or the underlaying service classes that execute the webhooks/{application}/{token}/messages/@original requests are themselves marked at internal.

I would love to see more of these low-level APIs exposed so more creative use-cases for the library can be used and not limited by such an opinioned design framework.

csmir commented 2 years ago

Discord.Net holds the hands of the developer in getting and using entities by design. While the idea is wonderful, it very much does the opposite of what Discord.Net actually intends to be. I will move this to a discussion and request a followup of other contributors.