dickserv- irc bot with many useful commands |
git clone git://git.acid.vegas/dickserv.git |
Log | Files | Refs | Archive | README | LICENSE |
youtube.py (1438B)
1 #!/usr/bin/env python 2 # DickServ IRC Bot - Developed by acidvegas in Python (https://acid.vegas/dickserv) 3 # youtube.py 4 5 import re 6 7 import config 8 import httplib 9 10 def check(url): 11 found = re.match('^.*?youtu(be)?\.([a-z])+\/(watch(.*?)(\?|\&)v=)?(.*?)(&(.)*)*$', url, re.IGNORECASE) 12 if found: 13 return found.group(6) 14 else: 15 return False 16 17 def video_info(id): 18 api = httplib.get_json(f'https://www.googleapis.com/youtube/v3/videos?key={config.api.google_api_key}&part=snippet,statistics&id={id}') 19 if api['items']: 20 api = api['items'][0] 21 data = {} 22 data['channel'] = api['snippet']['channelTitle'] 23 data['description'] = ' '.join(api['snippet']['description'].split()) 24 data['dislikes'] = api['statistics']['dislikeCount'] 25 data['likes'] = api['statistics']['likeCount'] 26 data['title'] = api['snippet']['title'] 27 data['views'] = api['statistics']['viewCount'] 28 return data 29 else: 30 return False 31 32 def search(query, results): 33 url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&key={0}&q={1}&maxResults={2}&type=video®ionCode=US&relevanceLanguage=en&safeSearch=none'.format(config.api.google_api_key, httplib.data_quote(query), results) 34 api = httplib.get_json(url) 35 results = {} 36 for item in api['items']: 37 title = item['snippet']['title'] 38 url = 'https://www.youtube.com/watch?v=' + item['id']['videoId'] 39 results[title] = url 40 return results