使用 Webhook 从谷歌脚本发送嵌入到不和谐

时间:2021-02-26 11:28:20

标签: google-apps-script discord webhooks

我现在致力于在触发时发送通知,该通知发送嵌入的消息以与谷歌脚本不一致。

我浏览了多种资源,但找不到有效的资源。 我可以使用 webhooks 发送一条简单的消息,但是任何时候都可以尝试插入它似乎没有发送的嵌入,但是不会出现任何错误。


  var discordUrl = 'https://discord.com/api/webhooks/814799155587055667/4NuUkPYbXqgvpiAmxURnisPLGC6eJUO3uMH2jEzP0-cQkzy1Ohy2LyhB6OK5kKQdwOuM';

var options = {
  muteHttpExceptions: true,
 "method": "post",
 "payload": JSON.stringify({
    "username": "Compensation Notifier",
   "avatar_url": "https://i.pinimg.com/originals/46/f2/cb/46f2cb9bd2c4be10400634ff47ba23ae.png",
  "embeds": [{
      "author":{
        "name": "Record Added!",
      },
  "title": staff + " Recorded " + user + "Compensation",
      "color": 15258703,
      "fields": [
        {
          "name": "Staff Name",
          "value": staff,
          "inline": true
        },
        {
          "name": "Compensated's Name",
          "value": user,
          "inline": true
        },
          {
          "name": "Rubio Link",
          "value": rubio
        }
        ],
             "footer": {
        "text": "Compensation Recorder v1"
      }
  }] 
 }),
 
};

  var response = UrlFetchApp.fetch(discordUrl, options);

  Logger.log(response.getContentText());

}
function test(){
  var staff = "johnny";
  var user = "timmy";
  var rubio = "www.ogm.com";
  var amount = "155555";

postAddRecordMessageToDiscord(user,staff,rubio,amount);
}


到目前为止,这对于发送消息非常有效,但是似乎很少有关于如何使嵌入与谷歌脚本一起工作。

我知道这是可以做到的,因为我看到有人将他的信息从他的谷歌表格发送到他的文档,他还创建了一个用户表单,但是我尝试过的每次尝试似乎都破坏了一切。

我已经尝试添加像 discords API 所说的那样的嵌入,但它似乎不起作用,现在我不知所措。

1 个答案:

答案 0 :(得分:0)

在您的脚本中,请将 contentType: "application/json" 添加到 options 中,如下所示,然后再次测试。

来自:

var options = {
  muteHttpExceptions: true,

致:

var options = {
  contentType: "application/json",  // <--- Added
  muteHttpExceptions: true,

注意:

  • 当我使用您的请求正文测试修改后的脚本时,我可以确认修改后的脚本有效。由此,我认为您的 payload 对象用于“嵌入”是正确的。

参考: