संपादित करें: इसे और अधिक स्पष्ट करने की कोशिश कर रहा है। मैं उस हिस्से में नीचे सूचीबद्ध एम्बेड चाहता हूं जहां यह कहता है कि यहां एम्बेड किया गया है।

यकीन नहीं होता कि मैं ऐसा भी कर सकता हूं। मेरी संरचना उदाहरण में नामित फ़ाइलों के लिए बाहरी रूप से कॉल कर रही है: test.js स्वैप आर्ग्स के माध्यम से। एक बहुत ही मोटा कमांड हैंडलर बनाना।

module.exports = {
    name: 'test',
    description: "Embed",
    execute(message, args){
        message.delete();
message.channel.send(`**EMBED GOES HERE**`).then(async sentMessage => {
    await sentMessage.delete({ timeout: 10000 });
});
    }
}

यह कहाँ एम्बेड है।

 "embed": {
              "title": "Test",
              "thumbnail": 'google.com',
              "url": "google.com",
              "description": 'test',
              "color": 16763981,
              "footer": {
              }
1
Brian Chambers 23 मार्च 2020, 21:39

1 उत्तर

सबसे बढ़िया उत्तर

एम्बेड एक विशेष रूप से स्वरूपित JSON ऑब्जेक्ट है, जिसे आसानी से किसी भी वेरिएबल को असाइन किया जा सकता है। हालाँकि, channel.send का डेटा भाग भी एक ऑब्जेक्ट है, इसलिए अंत में यह किसी ऑब्जेक्ट में नेस्टेड ऑब्जेक्ट होगा। (दूसरा वाला, मैं इनलाइन बनाऊंगा) यह थोड़ा भ्रमित करने वाला हो सकता है, क्योंकि एम्बेड एक विकल्प है, सामग्री का हिस्सा नहीं है।

let myEmbed = {
    title: "Test",
    thumbnail: { url: 'google.com'},
    url: "google.com",
    description: 'test',
    color: 16763981,
    footer: { }
};

message.channel.send({embed: myEmbed }).then(async sentMessage => {
    await sentMessage.delete({ timeout: 10000 });
    message.delete();
});
1
Tarazed 23 मार्च 2020, 19:51