我如何检查不和谐消息是否包含字符串

时间:2021-05-13 17:53:04

标签: python discord discord.py

所以我试图用 discord,.py 制作一个不和谐的机器人,我希望机器人在有人发送包含某个字符串的消息时说些什么。这就是我想要发生的

@client.event
async def on_message(msg):
    if 'i' in msg:
        channel = client.get_channel("742261026686500896")
        await channel.send("i")

我收到这个错误

TypeError: argument of type 'Message' is not iterable

我该怎么做?

2 个答案:

答案 0 :(得分:1)

> 是一个具有多个属性的对象。文本部分位于 msg 中。试试这个:

msg.content

答案 1 :(得分:1)

@client.event
async def on_message(msg):
    if 'i' in msg:
        channel = client.get_channel("742261026686500896")
        await channel.send("i")

不和谐 Message 是一个不可分割的对象(您收到错误的原因)。您没有正确访问信息。 Message 对象包含有关其他、频道等的信息。 您可以查看有关此主题的文档,here。 要访问消息的内容,您应该使用 msg.content。 然后,您可以对其进行测试。示例:

@client.event
async def on_message(msg):
    if 'i' in msg.conent:
        channel = client.get_channel("742261026686500896")
        await channel.send("i")