GroupMe提及API

时间:2018-11-16 04:21:57

标签: javascript jquery json ajax groupme

我正在创建一个GroupMe机器人,该机器人将帮助我管理一些我要负责的大型团体。现在,我决定在本地服务器上运行的简单HTML页面上使用Javascript构建一个简单的测试机器人,以使基本功能正常运行。我已经完成了大部分工作,但是提及功能是我仍然不知道的。将提及消息发送到群组的相关POST的处理方式如下:

 $.ajax({
                    url: botPostUrl,
                    type:"POST",
                    success: function(result){
                            console.log(result);
                    },
                    error: function(error){
                            console.log(`Error ${error}`);
                    },
                    data: {
                            "text" : messageContents + "\n" + mentionedMessageBlock,
                             "bot_id" : "my_bot_id",
                            "attachments": [
                              {
                                "type": "mentions",
                                "user_ids": [mentionedMembersUserIds],
                                "loci": [loci]
                              }
                            ]
                    },
                    async: false
            });

“ messageContents”是我要发送的实际消息文本,“提及的MessageBlock”包含所有提及。因此,理想情况下,当我发送此邮件时,我想在GroupMe中提出的内容是:“嘿,请今晚参加会议! @ User1 @ User2 ...“

但是,在当前状态下,此帖子仅将所有内容发送为引号文本,这意味着实际的提及功能不会触发,并且提及的用户实际上不会收到通知。

这是很奇怪的地方:如果我以与上述相同的方式对Ajax请求的数据部分和bot的POST URL进行curl -d,则提及将正常进行。我一辈子都无法弄清楚为什么它会与cURL一起使用而不与Ajax一起使用,但是也许有一些简单的解决方法或解决方法。

非常感谢您能提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

嘿,所以我有一个类似的问题,它只会发送一条没有通知或提及的消息。我发现我在使用我的用户名,但没有在其周围加上引号。您可能需要做类似的事情

“ user_ids”:[\“提到的MembersUserIds \”]

此外,发送的消息将为用户提供提及通知,但是文本本身并未在消息块内为我添加“ @username”。也许只有在使用该应用程序时,它才会自动添加为消息的一部分。