mirror of
https://github.com/myned/modufur.git
synced 2025-03-05 07:06:25 +00:00
57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
import asyncio
|
|
import json
|
|
from datetime import datetime as dt
|
|
from urllib import parse
|
|
import re
|
|
from pprint import pprint
|
|
|
|
import discord as d
|
|
from discord import errors as err
|
|
from discord.ext import commands as cmds
|
|
from discord.ext.commands import errors as errext
|
|
import gmusicapi as gpm
|
|
import googleapiclient as gapic
|
|
import apiclient as apic
|
|
|
|
from misc import exceptions as exc
|
|
from misc import checks
|
|
from utils import utils as u
|
|
|
|
|
|
class Music:
|
|
|
|
def __init__(self, bot):
|
|
self.bot = bot
|
|
|
|
self.yt_service = apic.discovery.build('youtube', 'v3', developerKey=u.secrets['client_secrets']['client_secret'])
|
|
|
|
@cmds.group(aliases=['pl'], brief='(G) Play music', description='Play music from YouTube, Soundcloud, or Google Play Music')
|
|
async def play(self, ctx):
|
|
print(ctx.invoked_subcommand)
|
|
|
|
@play.command(name='youtube', aliases=['you', 'tube', 'yt', 'y'])
|
|
async def _play_youtube(self, ctx, *videos):
|
|
try:
|
|
if not videos:
|
|
raise exc.MissingArgument
|
|
|
|
vids = []
|
|
|
|
for video in videos:
|
|
if 'http' in video and 'youtube' in video:
|
|
vids.append(parse.parse_qs(parse.urlparse(video).query)['v'][0])
|
|
else:
|
|
vids.append(video)
|
|
|
|
print(vids)
|
|
|
|
response = self.yt_service.videos().list(part='snippet', id=','.join(vids)).execute()
|
|
pprint(response)
|
|
|
|
except exc.MissingArgument:
|
|
await ctx.send('**Invalid youtube url or ID**', delete_after=7)
|
|
await ctx.message.add_reaction('\N{CROSS MARK}')
|
|
|
|
@play.command(name='googleplaymusic', aliases=['googleplay', 'googlemusic', 'playmusic', 'play', 'gpm'])
|
|
async def _play_googleplaymusic(self, ctx, query):
|
|
pass
|