コード例 #1
0
 def shorten_url(self, url):
     '''Return a shortened version of a URL passed in
 using bitly
 '''
     try:
         return self.bitly.shorten(url)['url']
     except:
         log.err('[Error]: bitly traceback: {}'.format(
             traceback.format_exc()))
         raise pb.CommandError(u'[Error]: Invalid URL', pm=True)
コード例 #2
0
    def ytSearch(self, args, irc):
        '''yt [search term(s)] -- Search YouTube and return the first result
      '''
        try:
            if not args:
                raise pb.CommandError(u'[Error]: Missing YouTube search terms',
                                      pm=False)

            terms = u'+'.join(args)
            r = requests.get(self.YT_SEARCH.format(terms))

            soup = BeautifulSoup(r.text)
            result = soup.find('div', {
                'class': 'yt-lockup-content'
            }).find('a')['href']
            url = u'https://youtube.com{}'.format(result)
            return u'{} | {}'.format(url, self.youtube_data(url))
        except:
            log.err('[Error]: yt {}'.format(sys.exc_info()[0]))
            raise pb.CommandError(u'[Error]: Could not contact YouTube',
                                  pm=True)
コード例 #3
0
ファイル: Quotes.py プロジェクト: genericpersona/BaneBot
  def joke(self, args, irc):
    '''(joke) -- Random joke from goodbadjokes.com
    '''
    try:
        r = requests.get(self.JOKE_URL)
        if r.status_code != 200:
            log.err('Error]: Status code of {} for joke'.format(r.status_code))
            return

        soup = BeautifulSoup(r.text)
        joke = soup.find('span', {'class': 'joke-content'})
        q = joke.find('dt').text 
        a = joke.find('dd').text

        return '{} {}'.format(q, a)
    except:
        log.err('[Error]: {}'.format(sys.exc_info()[0]))
        raise pb.CommandError('[Error]: Cannot contact goodbadjokes.com', pm=False)