docs: def gif(search, unsafe=False):
      """given a search string, return a gif URL via google search"""
      searchb = quote(search.encode("utf8"))
  
      safe = "&safe=" if unsafe else "&safe=active"
      searchurl = "https://www.google.com/search?tbs=itp:animated&tbm=isch&q={0}{1}" \
          .format(searchb, safe)
  
      # this is an old iphone user agent. Seems to make google return good results.
      useragent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us)" \
          " AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7"
  
      result = requests.get(searchurl, headers={"User-agent": useragent}).text
  
      gifs = list(map(unescape, re.findall(r"var u='(.*?)'", result)))
      shuffle(gifs)
  
      if gifs:
          return gifs[0]
      return ""