提问者:小点点

如何在discord.py?中为不和谐音乐机器人创建跳过命令


我尝试了用discord.py制作一个不和谐机器人。我在跳过命令部分。我已经完成了其他部分,如播放和排队命令。

我尝试使用命令self.vc. stop()停止歌曲并跳到下一首,但没有成功,有人能帮我吗?这是我做的详细跳过命令:

class music_cog(commands.Cog):
   # all the stuff over here
   @commands.command(aliases=["continue"])
   async def skip(self, ctx):
       if self.vc != "":
           self.vc.stop()
           # plays the next song
           await self.play_music()

共1个答案

匿名用户

我不知道你想做什么,但看起来斯帕先生的回答可能会对你有所帮助。

根据您实现play_music()的方式,您应该在vc.play的参数之后使用。以下是提供的片段:

import asyncio

def play_next(ctx, source):
    if len(self.song_queue) >= 1:
        del self.song_queue[0]
        vc = get(self.bot.voice_clients, guild=ctx.guild)
        vc.play(discord.FFmpegPCMAudio(source=source, after=lambda e: play_next(ctx))
        asyncio.run_coroutine_threadsafe(ctx.send("No more songs in queue."))

这里的关键是根据我的理解,在之后使用skip()作为的lambda。