Python discord.py中的广播命令

Python discord.py中的广播命令,python,command,discord.py,Python,Command,Discord.py,我想实现一个很酷的广播命令。命令将是这样的。如果管理员使用$bc对bot进行DMs,则bot会将该消息发送到#broadcast。它可以从DMs和服务器读取数据。我试过这个命令,但没有像我想的那样奏效 @bot.command(pass_context=True) async def bc(args, message): channel = server.get_channel("474316889435275264") await bot.send_message(channe

我想实现一个很酷的广播命令。命令将是这样的。如果管理员使用
$bc
对bot进行DMs,则bot会将该消息发送到
#broadcast
。它可以从DMs和服务器读取数据。我试过这个命令,但没有像我想的那样奏效

@bot.command(pass_context=True)
async def bc(args, message):
    channel = server.get_channel("474316889435275264")
    await bot.send_message(channel, args)
它无法读取任何
channel=server.get\u频道(“474316889435275264”)
所以我知道代码是错的

PS:这类似于“say”命令,但它会将其发送到指定的频道。

即使您没有对服务器的引用,也可以使用来解析频道。我在下面假设您总是希望将消息发送到特定的频道,无论它来自何处

还具有特殊的处理功能,允许它们捕获消息中剩余的未处理文本,而不是拆分为参数。在您的示例中,
bc(args,message)
message
只捕获一个单词或强制您将消息用引号括起来

@bot.command(pass_context=True)
async def bc(ctx, *, message):
    channel = bot.get_channel("474316889435275264")
    await bot.send_message(channel, message)

如果您的bot是多个服务器的成员,该怎么办?它是否应该始终将其发送到同一频道,发送到该服务器的
#broadcast
频道,接受服务器作为参数?Zemo,你对Patrick下面的回复如何?