【问题标题】:discord.py- How would I send a message to a random channel?discord.py-我如何将消息发送到随机频道?
【发布时间】:2020-07-11 23:47:29
【问题描述】:
我正在尝试制作一个机器人,当用户发送特定消息时,它会向随机选择的频道发送随机消息。
除了获取所有频道 ID 并将它们手动添加到列表中,然后从该列表中随机选择之外,我不知道如何解决这个问题,但是这种方法存在一些非常大的问题,而且它不会工作。我已经尝试查看文档,但我无法找到一种方法来做我想做的事。
简而言之:我需要一种方法来自动收集 discord 服务器中的所有频道 ID,将它们添加到一个空列表中,然后能够向列表中随机选择的频道发送消息。
【问题讨论】:
标签:
python
discord.py
discord.py-rewrite
【解决方案1】:
我不明白为什么您描述的方式存在“大问题”。下面是一个简短的 sn-p,可以完全按照您的描述进行操作:
import random
client = discord.Client()
@client.event
async def on_ready():
# assuming the bot is connected to only one guild
guild = client.guilds[0]
await random.choice(guild.text_channels).send("message goes here")
client.run(token)
也可以通过命令扩展来实现,对上面的sn-p做比较少的修改。