前提・実現したいこと
listにyoutubeのlinkを追加して、5秒おきに確認しbotが音楽を再生していたら、
そのままで、音楽を再生していなかったら、listの上のやつを再生して、その上のやつを削除する。
といったものを作りたいと思っています。
あと、前の曲が終わったら次はいっている曲を流すとかできるのであれば、
教えていただけると幸いです。
どのようにすればよいのかよくわからないので、わかる方いらっしゃいましたら、
どうぞよろしくお願いいたします。
python
1import asyncio 2import discord 3import youtube_dl 4from discord.ext import tasks,commands 5 6client = commands.Bot(command_prefix = '!') 7・ 8・ 9・ 10・ 11@client.command() 12async def play(ctx,url): 13 async with ctx.typing(): 14 player = await YTDLSource.from_url(str(url),loop=asyncio.get_event_loop()) 15 ctx.author.guild.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None) 16 await ctx.channel.send('Now playing: {}'.format(player.title)) 17 18mylist = [] 19@client.command() 20async def list(ctx,arg): 21 mylist.append(arg) 22 await ctx.send("listに" + arg + "を追加しました") 23 [print(i) for i in mylist] 24 print('------------------------------------') 25 26@tasks.loop(seconds=5.0) 27async def loop(): 28 global voice, player 29 if message.author.bot: 30 return 31 if(voice.is_connected() == True): 32 if(player.is_playing()): 33 print('now playing.wait a moment!!') 34 else: 35 await channel.send(mylist[0] + "を再生します。") 36 del mylist[0] 37 38client.run(MYTOKEN)