大家好,我在服务器上有一个简单的不和谐机器人,还有一个音乐机器人。我的简单机器人只需打开带有音乐链接的txt文件,并在聊天m中发送命令!播放链接。但是音乐机器人看不到我的机器人发送的命令。音乐机器人乔基音乐
从conf import TOKEN随机导入randint导入不和谐
类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(代币)
我的代码
如果您要发出命令的机器人不是来自您,您无法解决此问题…因为他们在代码中设置了它,因此只会响应用户帐户。
如果你要给命令的Bot(音乐bot)是你发出的,你需要去代码中,使命令由on_message事件触发,因为来自discord.py的内置命令处理程序只会监听用户消息,而忽略其他Bot发送的命令
@bot.listen
async def on_message(message):
if message.content.startswith('m!play'):
await play_song(song_name=message.content.split(' ')[1])
play_song函数在这里是将播放歌曲的异步函数,我只是在这里传递了一个示例参数。