App-Nopaste-Service-Perlbot

 view release on metacpan or  search on metacpan

lib/App/Nopaste/Service/Perlbot.pm  view on Meta::CPAN

    my ($self, %arg) = @_;
    my $ua = LWP::UserAgent->new;

    if ($arg{chan} eq 'list') {
      my $res = $ua->get( 'https://perl.bot/api/v2/channels');
     
      unless ($res->is_success) {
        return (0, "Failed to get channels, try again later.\n");
      }

      my $response = decode_json $res->decoded_content;

      my $output="Channels supported by perl.bot, all values subject to change.\n-----------------------------------\n";
      for my $channel (@{$response->{channels}}) {
          $output .= sprintf "%15s  %20s\n", $channel->{name}, $channel->{description};
      }

       return (1, $output);

    } else {

      my $res = $ua->post("https://perl.bot/api/v2/paste", {
          paste => $arg{text},
          description => $arg{desc} || 'I broke this',
          username => $arg{nick} || 'Anonymous',
          $arg{chan} ? (chan => $arg{chan}) : (),
          language => $arg{lang} || 'text'
      });

      if ($res->is_success()) {
          my $content = $res->decoded_content;
          my $data = decode_json $content;

          return (1, $data->{url});
      } else {
          return (0, "Paste failed");
      }
    }
}

1;



( run in 0.265 second using v1.01-cache-2.11-cpan-26ccb49234f )