def twitteruser_query(self, user, search): t_api = Twython() htmlentities = dict( map(lambda (key, value): ('&' + str(key) + ';', value), htmlentitydefs.entitydefs.items()) ) try: unitext = '' if search != None: query = search + ' from:' + user tweetlist = t_api.searchTwitter(q=query, rpp='1') if len(tweetlist['results']) > 0: unitext = tweetlist['results'][0]['text'] # else: # tweetlist = t_api.getUserTimeline(screen_name=user, # count='200', # page='1') # for tweet in tweetlist: # if tweet['text'].lower().find( # search.lower()) > -1: # unitext = tweet['text'] # break else: tweetlist = t_api.getUserTimeline(screen_name=user, count='1') unitext = tweetlist[0]['text'] if len(unitext) > 0: msg = user + ': ' msg = msg + saxutils.unescape( unitext.encode("utf-8"), htmlentities) msg = msg.replace('\n', ' ') self.connection.notice(channel, msg) except (TwythonError, IndexError, KeyError, urllib2.HTTPError, urllib2.URLError) as e: print 'exception while retrieving user: ' + user print type(e) print e