You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python+Lavalink+Wavelink开发的Discord音乐bot直接播放首个搜索结果

代码修改方案

你只需要调整add_tracks方法中多搜索结果分支的逻辑,跳过手动选择步骤直接取首个结果即可,修改不需要引入任何额外依赖,完全适配你现有的Wavelink+Lavalink架构:

async def add_tracks(self,ctx, tracks):
    if not tracks:
        raise NoTracksFound                #Goes to a pass command
    if isinstance(tracks,wavelink.TrackPlaylist):
        self.queue.add(*tracks.tracks)
    # 单条/多条结果统一直接取首个
    else:
        track = tracks[0]
        self.queue.add(track)
        await ctx.send(f"{track.title} added to list")
    if not self.is_playing:
        await self.start_playback()

说明

  • 原len(tracks) == 1和len(tracks) > 1的两个分支合并,所有非歌单的搜索结果统一直接取首个结果加入播放队列
  • 不需要的choose_track方法和OPTIONS常量可以自行删除,保留也不会影响现有功能
  • 若后续需要恢复手动选择功能,改回原分支逻辑即可

内容的提问来源于stack exchange,提问作者NiraajMCRB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:54:05