我想要这样,以便当我键入命令和消息时,它将把该消息转发到机器人通过python discord连接到的每个服务器中的通道。我知道如何获取消息并查找命令,但是我不知道如何在每个服务器中找到该机器人可以发布的频道,然后发送它。
有人可以帮助我吗?
答案 0 :(得分:0)
您的servers
的{{1}}对象是机器人所属的Client
个对象的可迭代对象,每个Server
包含一个Server
可迭代对象用于获取您可以发布的频道。
channels
答案 1 :(得分:0)
您可以遍历该机器人可以看到的所有服务器,然后遍历它们的通道,直到找到可以向其发送消息的服务器为止。
@bot.command(pass_context=True)
async def broadcast(ctx, *, msg):
for server in bot.servers:
for channel in server.channels:
try:
await bot.send_message(channel, msg)
except Exception:
continue
else:
break