forked from pothtonswer/discordmuffin
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:
parent
7fded9fd03
commit
02e7ea559b
1 changed files with 24 additions and 0 deletions
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue