Discord自定义Bot发送Jockie Music指令无响应问题求助
问题:Discord自定义Bot发送的Jockie Music指令无法被识别
我在Discord服务器中部署了自定义Bot和Jockie Music音乐Bot。自定义Bot读取存储音乐链接的txt文件,发送m!play 链接指令到频道,但Jockie Music无法识别该Bot发送的指令。以下是实现代码:
import discord from random import randint from conf import TOKEN class DSClient(discord.Client): async def on_ready(self): print(self.guilds) async def on_message(self, message): if message.content == "Грязюка": with open("songs.txt", "rt") as f: tracks = [song.strip().split() for song in f.readlines()] for _ in range(len(tracks)): index = randint(0, len(tracks) - 1) track = tracks.pop(index) print(track) await message.channel.send(f"m!play {track[0]}") client = DSClient(intents=discord.Intents.default().all()) client.run(TOKEN)
可能的原因及解决方案
1. Jockie Music默认忽略Bot发送的消息
绝大多数Discord音乐Bot会默认过滤其他Bot发送的消息,目的是防止循环触发指令、滥用资源或避免意外行为。
- 解决方法:发送
m!settings指令打开Jockie Music的设置面板,查找并开启允许Bot触发指令的选项后重试。
2. 指令前缀或链接格式错误
- 确认Jockie Music的指令前缀:在服务器发送
m!help,若Bot响应则前缀正确;若无响应,说明前缀已被修改,需使用正确前缀发送指令。 - 检查音乐链接有效性:确保
track[0]是Jockie Music支持的平台链接(如YouTube、Spotify等),且无多余空格、换行符。可在代码中添加日志确认:print(f"发送指令内容: m!play {track[0]}")
3. 频道权限问题
- 确认自定义Bot和Jockie Music都拥有当前频道的发送消息和读取消息权限,否则Jockie Music无法接收指令。
- 检查服务器角色层级,确保Jockie Music的角色权限不低于自定义Bot,避免权限限制导致消息无法被读取。
4. 改用Slash命令调用
如果Jockie Music支持Slash命令(如/play),直接调用Slash命令比发送消息更可靠,且多数Bot不会限制这类调用来源。示例代码(需使用discord.py 2.0+版本):
import discord from random import randint from conf import TOKEN class DSClient(discord.Client): async def on_ready(self): print(self.guilds) # 首次运行同步Slash命令 await self.tree.sync() async def on_message(self, message): if message.content == "Грязюка": with open("songs.txt", "rt") as f: tracks = [song.strip().split() for song in f.readlines()] for _ in range(len(tracks)): index = randint(0, len(tracks) - 1) track = tracks.pop(index) print(track) # 发送/play命令文本 await message.channel.send(f"/play {track[0]}") client = DSClient(intents=discord.Intents.default().all()) client.run(TOKEN)
注意:若需要更规范的Slash命令调用,需提前获取Jockie Music的play命令ID,通过Discord交互API直接触发,避免依赖文本解析。
内容的提问来源于stack exchange,提问作者Bensernar
相关产品推荐
相关产品推荐

