【问题标题】:How can I send a message to every server the bot is in (discord.py)如何向机器人所在的每个服务器发送消息(discord.py)
【发布时间】:2020-11-19 07:03:07
【问题描述】:

所以我希望我的机器人在我的机器人所在的每个服务器上发送消息,但它只会在通道名称中发送消息,例如

例子:

//broadcast hello

机器人搜索频道名称general

机器人会向该频道发送一条消息,它会继续向我的机器人所在的其他服务器发送“hello”。

那么谁能给我一个例子?因为我不知道怎么做。所以我在这里寻求帮助

【问题讨论】:

  • 你应该展示一些代码,你尝试过的或者其他的东西让我们理解。 Look here

标签: discord.py


【解决方案1】:

执行此操作的最佳方法是遍历机器人所在的每个服务器,然后遍历每个服务器中的每个频道,测试该频道的名称是否为#general,如果是,则向该频道发送消息。您可以使用bot.guilds 获取机器人所在的所有服务器的列表,然后使用guild.channels 获取服务器中的所有频道,然后您可以使用channel.name 查看频道名称。这是完整的命令:

@bot.command()
@commands.has_permissions(administrator=True)
async def broadcast(ctx, message):
    for guild in bot.guilds:
        for channel in guild.channels:
            if(channel.name == 'general'):
                await channel.send(message)

bot.run(token_here)

【讨论】:

    猜你喜欢
    • 2021-03-19
    • 2019-01-23
    • 2021-01-28
    • 2018-06-12
    • 2018-05-26
    • 2020-11-04
    • 1970-01-01
    • 2022-01-03
    • 2021-01-26
    相关资源
    最近更新 更多