Discord-Client
view release on metacpan or search on metacpan
lib/Discord/Client/Interaction.pm view on Meta::CPAN
if ( $options{update} ) {
return $self->_failed( 'Update deferral requires a message component', 'state' ) unless $self->_can_update;
return $self->_failed( 'Update deferral cannot set ephemeral visibility', 'request' ) if $options{ephemeral};
return $self->_initial( 6, undef, 'deferred_update' );
}
return $self->_initial( 5, $options{ephemeral} ? { flags => 64 } : undef, 'deferred' );
}
sub _can_update { $_[0]->{type} == 3 || ( $_[0]->{type} == 5 && ref( $_[0]->{raw}{message} ) eq 'HASH' ) }
sub update {
my ( $self, $message ) = @_;
return $self->_failed( 'Update requires a message component', 'state' ) unless $self->_can_update;
my $data = eval { $self->_message($message) };
return $self->_failed( 'Invalid interaction message', 'request' ) if $@;
return $self->_initial( 7, $data, 'replied' );
}
sub autocomplete {
my ( $self, $choices ) = @_;
return $self->_failed( 'Choices require an autocomplete interaction', 'state' ) unless $self->{type} == 4;
( run in 1.164 second using v1.01-cache-2.11-cpan-1236ad508bc )