This PR refactors the interactions stack, the main goal was to standardize and update the older code that was present in interactions as well as add more flexibility with them.
Changes
Add IApplicationCommandInteraction interface and make IUserCommandInteraction, IMessageCommandInteraction, and ISlashCommandInteraction inherit it.
Change Followup / Respond method signatures to move RequestOptions to the last parameter as well as change component to components.
Add FollowupWithFilesAsync to interactions to allow uploading multiple attachments.
Made RespondAsync return a RestInteractionMessage based off of the parameters sent over to discord. This allows direct calls to ModifyAsync and DeleteAsync without having to get the interaction response first.
Deprecate ApplicationCommandException in favor for HttpException.
Add IUser User to IDiscordInteraction.
Update async summaries to contain information about the task in the return tag.
Summary
This PR refactors the interactions stack, the main goal was to standardize and update the older code that was present in interactions as well as add more flexibility with them.
Changes
IApplicationCommandInteraction
interface and makeIUserCommandInteraction
,IMessageCommandInteraction
, andISlashCommandInteraction
inherit it.RequestOptions
to the last parameter as well as changecomponent
tocomponents
.FollowupWithFilesAsync
to interactions to allow uploading multiple attachments.RespondAsync
return aRestInteractionMessage
based off of the parameters sent over to discord. This allows direct calls toModifyAsync
andDeleteAsync
without having to get the interaction response first.ApplicationCommandException
in favor forHttpException
.IUser User
toIDiscordInteraction
.