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

discord.py v2迁移后音乐机器人命令无法找到问题排查

Discord.py v2 音乐机器人命令找不到问题排查

问题原因

discord.py v2 对 Cog 类的命名规范要求更严格,必须使用大驼峰命名法(如MusicCog),原代码中的music_cog(小写+下划线)不符合规范,导致Cog无法被正确注册,内部的play等命令自然无法被bot识别。

解决步骤

1. 修改Cog类名

在music_cog.py中,将类名从music_cog改为MusicCog:

# 原代码
class music_cog(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        # ...其余代码

# 修改后
class MusicCog(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        # ...其余代码保持不变

2. 更新主文件的导入与加载逻辑

在主文件中,同步修改导入和添加Cog的代码:

# 原代码
from music_cog import music_cog

async def main():
    async with bot:
        await bot.add_cog(music_cog(bot))
        await bot.start('TOKEN')

# 修改后
from music_cog import MusicCog

async def main():
    async with bot:
        await bot.add_cog(MusicCog(bot))
        await bot.start('TOKEN')

3. 验证修复效果

重启bot后,执行?play命令即可正常识别执行。若仍有异常,可排查以下点:

  • Discord开发者面板中是否已开启Message Content Intent
  • ffmpeg和yt-dlp的环境路径配置是否有效
  • bot是否具备目标语音频道的连接、发言权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 18:12:50