为什么 message.content.startswith 不起作用?

问题描述 投票:0回答:1

我一直在尝试让这段代码工作,但它就是行不通。我很困惑如何让它发挥作用。

我的全部代码:

import discord



intents = discord.Intents.default()
client = discord.Client(intents = intents)
intents.members = True
intents.messages = True

@client.event
async def on_ready():
    print(f'We have logged in as {client.user}')


@client.event
async def on_message(message):
    if message.author == client.user:
            return
    if message.content.startswith('$hello'):
        print("testing")
        await message.channel.send('Hello!')

尝试在说出“$hello”时检测到并回复“Hello”

python discord.py
1个回答
0
投票

@client.event
async def on_message(message):
    if message.author == client.users:
        return
    if message.content.startswith("$hello"):
        print(message.content)
        await message.channel.send("Hello!")

if message.author == client.users:
部分可能会导致问题,因为
client.users
引用的是客户端可以看到的所有用户的列表,但不是发送消息的用户。所以你可能需要删除
s
 末尾的 
users

if message.author == client.users:

正在检查机器人的作者是否是机器人本身。

© www.soinside.com 2019 - 2024. All rights reserved.