Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,14 @@ async def search_image(ctx, search_arg):
print(e)
await ctx.send("Sorry, something went wrong.")


@bot.command(pass_context=True, name='video')
async def get_video(ctx, *, message):
try:
output = video.process(message)
await ctx.send(output['output'])
except Exception as e:
print(e)
await ctx.send("Sorry, something went wrong.")

bot.run(TOKEN)
30 changes: 30 additions & 0 deletions modules/video.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import os

import requests
import requests_cache
import urllib.parse
import urllib.request
import re
import config
from templates.text import TextTemplate

YOUTUBE_DATA_API_KEY = os.environ.get('YOUTUBE_DATA_API_KEY', config.YOUTUBE_DATA_API_KEY)


def process(message):
output = {}
try:
query = urllib.parse.urlencode({'search_query': message})
content = urllib.request.urlopen('http://www.youtube.com/results?' + query)
search = re.findall('href=\"\\/watch\\?v=(.{11})', content.read().decode())
output['output'] = 'http://www.youtube.com/watch?v=' + search[0]
output['success'] = True
except Except:
error_message = 'I couldn\'t find any videos matching your query.'
error_message += '\nPlease ask me something else, like:'
error_message += '\n - sia videos'
error_message += '\n - videos by eminem'
error_message += '\n - video coldplay'
output['error_msg'] = TextTemplate(error_message).get_message()
output['success'] = False
return output