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.354 second using v1.01-cache-2.11-cpan-1236ad508bc )