mirror of
				https://github.com/pragma-/pbot.git
				synced 2025-11-04 08:37:24 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/perl
 | 
						|
 | 
						|
# This Source Code Form is subject to the terms of the Mozilla Public
 | 
						|
# License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
						|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | 
						|
 | 
						|
use warnings;
 | 
						|
use strict;
 | 
						|
 | 
						|
use WWW::Google::CustomSearch;
 | 
						|
use HTML::Entities;
 | 
						|
 | 
						|
my $api_key = 'AIzaSyCps6lKe6-WGvPawx7BphCYb-xM0rdevKQ';
 | 
						|
my $cx      = '003394693865260357751:kmvdeoslok4';
 | 
						|
 | 
						|
my ($nick, $arguments, $matches);
 | 
						|
 | 
						|
$matches = 1;
 | 
						|
$nick = shift @ARGV;
 | 
						|
 | 
						|
if ($#ARGV < 0) {
 | 
						|
  print "Usage: google [number of results] query\n";
 | 
						|
  exit;
 | 
						|
}
 | 
						|
 | 
						|
$arguments = join ' ', @ARGV;
 | 
						|
 | 
						|
if ($arguments =~ s/^([0-9]+)//) {
 | 
						|
  $matches = $1;
 | 
						|
}
 | 
						|
 | 
						|
my $engine  = WWW::Google::CustomSearch->new(api_key => $api_key, cx => $cx, quotaUser => $nick);
 | 
						|
 | 
						|
print "$nick: ";
 | 
						|
 | 
						|
if ($arguments =~ m/(.*)\svs\s(.*)/i) {
 | 
						|
  my ($a, $b) = ($1, $2);
 | 
						|
  my $result1 = $engine->search("\"$a\" -\"$b\"");
 | 
						|
  my $result2 = $engine->search("\"$b\" -\"$a\"");
 | 
						|
 | 
						|
  if (not defined $result1 or not defined $result1->items or not @{$result1->items}) {
 | 
						|
    print "No results for $a\n";
 | 
						|
    exit;
 | 
						|
  }
 | 
						|
 | 
						|
  if (not defined $result2 or not defined $result2->items or not @{$result2->items}) {
 | 
						|
    print "No results for $b\n";
 | 
						|
    exit;
 | 
						|
  }
 | 
						|
 | 
						|
  print "$a: (", $result1->formattedTotalResults, ") ", decode_entities $result1->items->[0]->title, " <", $result1->items->[0]->link, "> VS $b: (", $result2->formattedTotalResults, ") ", decode_entities $result2->items->[0]->title, " <", $result2->items->[0]->link, ">\n";
 | 
						|
  exit;
 | 
						|
}
 | 
						|
 | 
						|
my $result  = $engine->search($arguments);
 | 
						|
 | 
						|
if (not defined $result or not defined $result->items or not @{$result->items}) {
 | 
						|
  print "No results found\n";
 | 
						|
  exit;
 | 
						|
}
 | 
						|
 | 
						|
print '(', $result->formattedTotalResults, " results)\n";
 | 
						|
 | 
						|
my $comma = "";
 | 
						|
foreach my $item (@{$result->items}) {
 | 
						|
  print $comma, decode_entities $item->title, ': <', $item->link, ">\n";
 | 
						|
  $comma = " -- ";
 | 
						|
  last if --$matches <= 0;
 | 
						|
}
 | 
						|
 | 
						|
print "\n";
 |