|
14 | 14 |
|
15 | 15 | base_url = 'https://www.googleapis.com/youtube/v3/' |
16 | 16 | api_url = base_url + 'videos?part=contentDetails%2C+snippet%2C+statistics&id={}&key={}' |
17 | | -search_api_url = base_url + 'videos?v=2&alt=jsonc&max-results=1' |
| 17 | +search_api_url = base_url + 'search?part=id&q={}&maxResults=1&key={}' |
18 | 18 | video_url = "http://youtu.be/%s" |
19 | 19 |
|
20 | 20 |
|
@@ -63,24 +63,29 @@ def get_video_description(video_id, key): |
63 | 63 | return out |
64 | 64 |
|
65 | 65 |
|
| 66 | +@hook.onload() |
| 67 | +def load_key(bot): |
| 68 | + global dev_key |
| 69 | + dev_key = bot.config.get("api_keys", {}).get("google_dev_key") |
| 70 | + |
| 71 | + |
66 | 72 | @hook.regex(youtube_re) |
67 | 73 | def youtube_url(match, bot): |
68 | | - dev_key = bot.config.get("api_keys", {}).get("google_dev_key") |
69 | 74 | return get_video_description(match.group(1), dev_key) |
70 | 75 |
|
71 | 76 |
|
72 | 77 | @hook.command("youtube", "you", "yt", "y") |
73 | 78 | def youtube(text): |
74 | 79 | """youtube <query> -- Returns the first YouTube search result for <query>.""" |
75 | | - json = requests.get(search_api_url, params={"q": text}).json() |
| 80 | + json = requests.get(search_api_url, params={"q": text, "key": dev_key}).json() |
76 | 81 |
|
77 | 82 | if 'error' in json: |
78 | 83 | return 'error performing search' |
79 | 84 |
|
80 | | - if json['data']['totalItems'] == 0: |
| 85 | + if json['pageInfo']['totalResults'] == 0: |
81 | 86 | return 'no results found' |
82 | 87 |
|
83 | | - video_id = json['data']['items'][0]['id'] |
| 88 | + video_id = json['items'][0]['id'] |
84 | 89 |
|
85 | 90 | return get_video_description(video_id) + " - " + video_url % video_id |
86 | 91 |
|
|
0 commit comments