wolframalpha.pm 548 B

1234567891011121314151617181920212223
  1. use POE;
  2. use URI::Escape;
  3. {
  4. irc_commands => {
  5. wa => sub {
  6. my ($source, $targets, $args, $auth) = @_;
  7. BotIrc::check_ctx() or return;
  8. my $nick = BotIrc::nickonly($source);
  9. my $ctx = BotIrc::ctx_frozen;
  10. BotHttp::get("https://api.wolframalpha.com/v1/result?appid=$BotIrc::config->{wolfram_appid}&i=".uri_escape($args), sub {
  11. my $data = shift;
  12. BotIrc::send_wisdom($ctx, "Wolfram|Alpha: $data");
  13. return;
  14. }, sub {
  15. BotIrc::send_noise($ctx, ".info error: query '$args' failed: ".shift);
  16. return;
  17. });
  18. },
  19. },
  20. };