亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用來自不同文件的 EmbedMessage?

如何使用來自不同文件的 EmbedMessage?

滄海一幻覺 2023-06-15 17:40:05
我在使用嵌入消息時遇到問題。我在 index.js 下面提供了我的代碼,我在其中嘗試使用在“globalspeakfunction.js”中創建的函數。不要擔心我發送的變量,它們在這里看起來很特別,但我只提供了相關代碼以希望減少混淆。我在 GlobalSpeakFunction.js 中構建我的 EmbedMessage,然后將其發送到“index.js”中提供的消息通道中。但是我的控制臺返回“無法發送空消息”,當我執行 EmbedMessage 的 console.log 時,它會完美地返回嵌入嗎?我嘗試在 send() 函數中的嵌入消息后添加一個字符串“test”,然后它返回[object Object]test我不知道這里發生了什么。我是否無法在不同的文件中構建 EmbedMessage,然后將其發送回我的機器人?或者有什么我只是忽略了?索引.jsconst Discord = require('discord.js');const client = new Discord.Client();const speak = require('../GlobalSpeakFunction.js');client.on('message', message => {    if (message.content.toUpperCase().includes(`test`)){        speak("778978295059972106", message, "test", "Default");    }}GlobalSpeakFunction.jsconst Discord = require("discord.js")module.exports = function speak(charID, data, message, emotion){    var EmbedMessage = new Discord.MessageEmbed()        .setColor('#0099ff')        .setTitle('title')        .setURL('https://discord.js.org/')        .setDescription(message)        .setThumbnail('https://drive.google.com/file/d/17J90PzTLBR96wTwk_Wl3U06-or6ZjPW2/view')        .setTimestamp();    message.channel.send(EmbedMessage);           }
查看完整描述

1 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

我不確定您在哪里遇到“無法發送空消息”錯誤,我無法在本地重現。但是,這里有幾個問題:

首先,您正在使用toUpperCase()on message.content,然后檢查它是否包含(小寫)“test”。因此,這個 if 語句永遠不會執行。

其次,函數中參數的順序speak()charID, data, message, emotion,但您將它們傳遞為"778978295059972106", message, "test", "Default"(注意調用函數時如何交換data和)。message

第三,該setThumbnail()函數需要直接鏈接到圖像(以文件擴展名結尾的圖像,如 .png 或 .jpg)。您提供了一個 Google Drive 鏈接,該鏈接另外設置為私有,這使得除您之外的任何人都無法讀取。我建議將其上傳到圖像主機并從那里獲取直接鏈接。

此外,[object Object]只是對象的字符串表示形式。JavaScript 嘗試將您的 MessageEmbed(它是一個對象)轉換為字符串(因為您正試圖向其附加“test”)。


查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號