mirror of
https://github.com/bwmarrin/discordgo.git
synced 2025-12-23 23:17:45 -05:00
feat(interactions): add GetOption method to interaction data structs (#1535)
* Add ApplicationCommandInteractionData.GetOption * Add ApplicationCommandInteractionDataOption.GetOption --------- Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
This commit is contained in:
@@ -346,6 +346,18 @@ type ApplicationCommandInteractionData struct {
|
||||
TargetID string `json:"target_id"`
|
||||
}
|
||||
|
||||
// GetOption finds and returns an application command option by its name.
|
||||
func (d ApplicationCommandInteractionData) GetOption(name string) (option *ApplicationCommandInteractionDataOption) {
|
||||
for _, opt := range d.Options {
|
||||
if opt.Name == name {
|
||||
option = opt
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ApplicationCommandInteractionDataResolved contains resolved data of command execution.
|
||||
// Partial Member objects are missing user, deaf and mute fields.
|
||||
// Partial Channel objects only have id, name, type and permissions fields.
|
||||
@@ -428,6 +440,18 @@ type ApplicationCommandInteractionDataOption struct {
|
||||
Focused bool `json:"focused,omitempty"`
|
||||
}
|
||||
|
||||
// GetOption finds and returns an application command option by its name.
|
||||
func (o ApplicationCommandInteractionDataOption) GetOption(name string) (option *ApplicationCommandInteractionDataOption) {
|
||||
for _, opt := range o.Options {
|
||||
if opt.Name == name {
|
||||
option = opt
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// IntValue is a utility function for casting option value to integer
|
||||
func (o ApplicationCommandInteractionDataOption) IntValue() int64 {
|
||||
if o.Type != ApplicationCommandOptionInteger {
|
||||
|
||||
Reference in New Issue
Block a user