【问题标题】:AWS Lambda Discord Slash Command - Get data from sent messageAWS Lambda Discord Slash 命令 - 从发送的消息中获取数据
【发布时间】:2021-05-05 05:33:19
【问题描述】:

当使用斜杠命令从 Discord 发送消息时,我还可以随命令发送文本。我的问题是,当我在 AWS Lambda 中提取消息事件的正文时,我看不到随它发送的消息。因此,如果我发送 /getInfo "Simon" 我希望能够发送存储在数据库中的角色 Simon 的统计信息。

当我尝试获取 JSON 正文时,它没有关于使用斜杠命令发送的消息文本的任何信息。我所看到的只是发送者、命令是什么、channel_id 等。

你知道我是否可以在发送斜线命令时获得消息文本信息吗?我在 Discord 开发者文档中没有看到任何关于此的内容。

【问题讨论】:

  • 你是如何定义你的斜杠命令的?看起来 Discord 要求您定义选项 (ApplicationCommandOption) 以在命令后接收参数
  • 谢谢!你是对的。我需要添加一个类型为 3 的选项(用于文本),现在消息文本已传递到 JSON 正文。 json = { "name": "testEatMessage", "description": "添加到斜杠命令的吃消息", "options": [ { "name": "name", "description": "人名", " type": 3, "required": True } ] }

标签: aws-lambda discord discord.py


【解决方案1】:

registering a slash command 使用 Discord 时,您需要指定该命令可用的选项,否则它们不会传递给您。

您将其作为选项块的一部分进行

{
    "name": "mycommand",
    "description": "My command does my thing",
    "options": [
        {
            "name": "myoption",
            "description": "My option",
            "type": 3,
            "required": True
        }
    ]
}

一旦你这样做了,用户在命令中传递的参数将在data下可用

{
    // ...
    "data": { 
        "options": [{
            "name": "myoption",
            "value": "User value"
        }],
        // ...
    },
}

【讨论】:

    猜你喜欢
    • 2021-06-28
    • 2021-03-21
    • 2016-12-25
    • 2022-08-14
    • 2018-03-01
    • 2018-07-24
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多