Python 3.x Python如何为服务器发送单个消息

Python 3.x Python如何为服务器发送单个消息,python-3.x,discord.py,Python 3.x,Discord.py,您好,我想在调用命令时为服务器发送一条单独的消息 List = ['Server 1 ID' : 'Message 1', 'Server 2 ID' : 'Message 2',] @bot.event async def on_message(message): if message.content.startswith(("!Ping")): if message.server.id in List: await bot.send_mess

您好,我想在调用命令时为服务器发送一条单独的消息

List = ['Server 1 ID' : 'Message 1', 'Server 2 ID' : 'Message 2',]

@bot.event
async def on_message(message):
    if message.content.startswith(("!Ping")):
        if message.server.id in List:
            await bot.send_message(message.channel, "Pong")

因此,如果列表中有消息服务器id,bot应该将该特定消息发送到该服务器。

使用字典而不是列表

messages = {'1234': "Hello server 1!", '5678': 'This is the message for server 2.'}

@bot.event
async def on_message(message):
    if message.content.startswith(("!Ping")):
        if message.server.id in messages:
            await bot.send_message(message.channel, messages[message.server.id])

不要忘记
startswith
参数的逗号:
(“!Ping”,)
@alecxe是的,但是如果ctx消息服务器id是
服务器1 id
消息2
如果ctx消息服务器id是
服务器2 id
,如何让它发送
消息1
。我需要在Wait bot中更改一些内容。发送消息,但感到困惑。是的,谢谢,它成功了。刚才我将列表中的
if message.server.id改为
if message.server.id: