【问题标题】:how do i check if a discord message contains a string如何检查不和谐消息是否包含字符串
【发布时间】:2021-08-04 00:20:20
【问题描述】:

所以我正在尝试使用 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

我该怎么做呢?

【问题讨论】:

  • msg 是一个具有多个属性的对象。文本部分位于msg.content

标签: python discord discord.py


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:
    @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")
    

    【讨论】:

    • 如果你也给出解决方案就好了
    • @Kafels 添加。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2021-08-11
    • 2021-07-01
    • 2017-09-13
    • 2013-10-26
    • 2017-09-23
    • 2019-07-18
    相关资源
    最近更新 更多