"""!youtube <search term> return the first youtube search result for <search term>""" import re try: from urllib import quote except ImportError: from urllib.request import quote import requests def youtube(searchterm): url = "https://www.youtube.com/results?search_query={0}" url = url.format(quote(searchterm)) r = requests.get(url) results = re.findall('a href="(/watch[^&]*?)"', r.text) if not results: return "sorry, no videos found" return "https://www.youtube.com{0}".format(results[0]) def on_message(msg, server): text = msg.get("text", "") match = re.findall(r"!youtube (.*)", text) if not match: return searchterm = match[0] return youtube(searchterm.encode("utf8")) on_bot_message = on_message