Replies: 9 comments 4 replies
-
Related task board: https://github.com/DSharpPlus/DSharpPlus/projects/5 |
Beta Was this translation helpful? Give feedback.
-
Taken directly from Discord by @Neuheit: Hello DSharpPlus users! As you may have seen I have started to work on a prototype for the V5 version of the lib, I have a long way to go but here is what I am thinking so far
The Here's a potential look at the abstraction layers:
We will also be rewriting some of the extensions (namely interactivity, commandsnext, and also implementing a slash command service finally). Let me know your thoughts on all of these, nothing here is set in stone however I personally feel this is the best approach. |
Beta Was this translation helpful? Give feedback.
-
Current Tasklist:
REST (RestManager)
Sharding (ShardManager)
Serialization
Entities
Extensions
|
Beta Was this translation helpful? Give feedback.
-
I'm not sure how it'd be possible to send api requests without having a object of any sort. In some cases I don't need the whole channel instance the sole purpose for is to just to send a message in it. My solution is using |
Beta Was this translation helpful? Give feedback.
-
I don't know if anybody else has this issue but there is no abstract EventArgs to allow users to get information about the message. The list goes on and on. private async Task Log(DiscordEventArgs args, string message)
{
if (args.User == Client.CurrentUser) return;
await LogChannel.SendMessageAsync(message);
} The only thing DiscordEventArgs has is a Handled property. |
Beta Was this translation helpful? Give feedback.
-
I don't how specifically this would be implemented, but it would be nice to be able to return Example usage: public sealed class Commands : BaseCommandModule {
public override async Task AfterExecutionAsync<T>(CommandContext ctx, T value) {
if (value is string str)
await ctx.RespondAsync(str);
}
// Alternative version
public override async Task AfterExecutionAsync(CommandContext ctx, object value) {
if (value is string str)
await ctx.RespondAsync(str);
}
[Command]
public async Task<string> ExampleCommand(CommandContext ctx) {
return "Success";
}
} |
Beta Was this translation helpful? Give feedback.
This comment was marked as disruptive content.
This comment was marked as disruptive content.
-
Discord now released their API v10. Changes:
|
Beta Was this translation helpful? Give feedback.
-
Discussion hub for the upcoming V5 rewrite
Beta Was this translation helpful? Give feedback.
All reactions