Add common interface for interactions with a custom ID #2778
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request Etiquette
Changes
Closes Issue: N/A
Description
Creates a common interface,
CustomIdInteraction
for all interactions that support a user provided custom id, namely components and modals. In the Discord API, the id is always calledcustom_id
, only JDA introduces a distinction betweencomponentId
andmodalId
.Use case:
Assume an interaction framework that listens for
GenericInteractionCreateEvent
. Using pattern matching in switch we want to determine if we need a new event handler or use an existing one.Currently this looks like this:
With common interface:
Pros
Cons
getComponentId
andgetModalId
methods we would break a lot of end user codeI'm up for discussions and aware that the use case might not affect some users, since JDA still uses Java 8