使用 Webhook 从 google 脚本发送嵌入到 discord
sending an embed from google scripts to discord using Webhook
我现在致力于在触发时发送通知,从 google 脚本向 discord 发送嵌入式消息。
我查阅了多种资源,但找不到有效的资源。
我可以使用 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);
}
到目前为止,发送消息的效果非常好,但是关于如何使嵌入与 google 脚本一起工作的内容似乎很少。
我知道这是可以做到的,因为我看到有人将他的信息从他的 google 工作表发送到他的文档,他也创建了一个用户表单,但是我尝试过的每次尝试似乎都失败了一切。
我试过像 discords API 说的那样添加嵌入,但它似乎不起作用,现在我不知所措。
在你的脚本中,请将contentType: "application/json"
添加到options
如下,再测试一下。
发件人:
var options = {
muteHttpExceptions: true,
收件人:
var options = {
contentType: "application/json", // <--- Added
muteHttpExceptions: true,
注:
- 当我使用您的请求正文测试修改后的脚本时,我可以确认修改后的脚本有效。由此,我认为您对“嵌入”的
payload
对象是正确的。
参考文献:
我现在致力于在触发时发送通知,从 google 脚本向 discord 发送嵌入式消息。
我查阅了多种资源,但找不到有效的资源。 我可以使用 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);
}
到目前为止,发送消息的效果非常好,但是关于如何使嵌入与 google 脚本一起工作的内容似乎很少。
我知道这是可以做到的,因为我看到有人将他的信息从他的 google 工作表发送到他的文档,他也创建了一个用户表单,但是我尝试过的每次尝试似乎都失败了一切。
我试过像 discords API 说的那样添加嵌入,但它似乎不起作用,现在我不知所措。
在你的脚本中,请将contentType: "application/json"
添加到options
如下,再测试一下。
发件人:
var options = {
muteHttpExceptions: true,
收件人:
var options = {
contentType: "application/json", // <--- Added
muteHttpExceptions: true,
注:
- 当我使用您的请求正文测试修改后的脚本时,我可以确认修改后的脚本有效。由此,我认为您对“嵌入”的
payload
对象是正确的。