def catch_link(willie, trigger): re_match = re.match( r'(?u).*((http|https|ftp|www)(://\S+|\.\S+)).*', trigger) url = re_match.group(1) context = trigger context = unicodedata.normalize('NFKD', context).encode('ascii', 'ignore') if url.startswith('http'): Link.add_or_increment(url, trigger.nick, trigger.sender, context) else: Link.add_or_increment( 'http://' + url, trigger.nick, trigger.sender, context)