Отправить Discord Embed на Webhook с запросом XHR - PullRequest
0 голосов
/ 28 марта 2020

Я пишу расширение chrome, в которое вставка должна быть отправлена ​​на дискордный веб-крючок. В расширениях chrome вы не можете импортировать модули, поэтому я должен использовать XMLHttpRequests.

Вот мой код для этого:

const el = document.getElementById("sendwebhook");
el.addEventListener("click", sendMessage, false);


function sendMessage() {
    var request = new XMLHttpRequest();
    request.open("POST", "https://discordapp.com/api/webhooks/693222334567415919/dT2OrV7pQa8_MuiS3kmFRPBTD_lh1nfXVR04OeRS9YKGEVPZXp7cOListUBI-c-32HM7");
    request.setRequestHeader('Content-type', 'application/json');
    var params = {
    username: "My Webhook Name",
    avatar_url: "https://pbs.twimg.com/profile_images/1214545814745300992/7OLFRhok_400x400.jpg",
    content: "The message to send"
    }
    request.send(JSON.stringify(params));
}

К сожалению, мой текущий код отправляет сообщение только через веб-крючок, но он мне нужен для отправки Rich Embed через веб-крючок, который выглядит как то так: iscr

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Боже мой, НЕНАВИЖУ стекопоток! Это чертовски круто в A **, чтобы получить правильное сообщение! Я даже не могу комментировать, потому что у меня нет представителя enuff!

    to get url .. go to... server settings > webhooks > create/edit webhook

function send(){  

 var url = "see above";
 var request = new XMLHttpRequest();
request.open("POST", url);
request.setRequestHeader('Content-type', 'application/json');


var myEmbed2 = {
  "author": {
        "name": "Birdie♫ 3",
        "url": "https://www.reddit.com/r/cats/",
        "icon_url": "https://i.imgur.com/R66g1Pe.jpg"
      },
      "title": "FINALLY!!!... bot embeds!",
      "url": "https://google.com/",
      "description": "Text message. You can use Markdown here. *Italic* **bold** __underline__ ~~strikeout~~ [hyperlink](https://google.com) `code`",
      "color": 15258703,
      "fields": [
        {
          "name": "Admins",
          "value": "Day/Acti",
          "inline": true
        },
        {
          "name": "Helpers",
          "value": "Wombat,Phaedra",
          "inline": true
        },
        {
          "name": "Use `\"inline\": true` parameter, if you want to display fields in the same line.",
          "value": "okay..."
        },
        {
          "name": "Thanks!",
          "value": "You're welcome :wink:"
        }
      ],
      "thumbnail": {
        "url": "https://upload.wikimedia.org/wikipedia/commons/3/38/4-Nature-Wallpapers-2014-1_ukaavUI.jpg"
      },
      "image": {
        "url": "https://upload.wikimedia.org/wikipedia/commons/5/5a/A_picture_from_China_every_day_108.jpg"
      },
      "footer": {
        "text": "Woah! So cool! :smirk:",
        "icon_url": "https://i.imgur.com/fKL31aD.jpg"
      }
}

var params = {
  username: "Codepen BOT-03",
  embeds: [ myEmbed2 ]
}

request.send(JSON.stringify(params));  
}// emd send
0 голосов
/ 28 марта 2020

просто нужно было добавить вложения в мои параметры:

    var params = {
    username: "Jokz' Tools",
    avatar_url: "https://pbs.twimg.com/profile_images/1243255945913872384/jOxyDffX_400x400.jpg",
    embeds: [{
        title: title,
        author: {
            'name': authorname,
            'icon_url': authorimage,
        },
        description: descriptiontext,
        footer: {
            'icon_url': 'https://pbs.twimg.com/profile_images/1243255945913872384/jOxyDffX_400x400.jpg',
            'text': 'Embed Sender | @JokzTools',
        },
        color: 0xff0000,
        timestamp: new Date(),
        }]
    }
    request.send(JSON.stringify(params));
}
...