当前位置: 首页 > 知识库问答 >
问题:

Discord.js尝试发送嵌入,但只发送空消息

归翔
2023-03-14

我想给我的频道发送一条嵌入信息,所以当我打字的时候

**embed

在我的频道中,它应该返回嵌入消息,如

testbot    Title
           Description

但是它只是从我的testbot(机器人名称)返回一个空消息。我试过用

message.channel.send(嵌入,嵌入);

相反,但是它给我一个错误,说嵌入没有声明...发送(内容,选项)是格式,嵌入是选项。

const Discord = require("discord.js");
const bot = new Discord.Client();
const TOKEN = "MY_TOKEN_ID";
const PREFIX = "**";

var name;
var usrAuth = 0;

bot.on("ready", function() {

    console.log("Ready");
});

bot.on("message", function(message) {

    console.log(message.content);

    if ( message.author.equals(bot.user)) 
        return;

    //  If the message doesn't begin with ** (Our prefix); do nothing 
    if( !message.content.startsWith(PREFIX))
        return;

    var argv = message.content.substr(PREFIX.length).split(" ");
    console.log("argv: "+argv+", argv[1]: "+argv[1]+"");

    // "+VAR_NAME+" Allows you to print a variable
    switch(argv[0].toLowerCase()) {
        case "ping":
            message.channel.send("Ping!");
            break;
        case "embed":
            var embedd = new Discord.RichEmbed()
                .addField("Title", "Description")
            message.channel.sendEmbed(embedd);
                // .catch(console.error);
            break;
        default:
            message.channel.send("Invalid commands");
    }

});

bot.login(TOKEN);

我的代码在上面,有什么问题吗?将var更改为const也没有任何作用。

共有3个答案

申屠泉
2023-03-14

使用以下格式

message.channel.send({ embed: embedd })

现在不建议使用sendEmbed发送的方法。对于使用发送事件的嵌入,您需要使用“发送”({embed:变量})指定它是一个嵌入,否则它将返回一个空消息,该消息将(在未来)使bot退出。

漆雕博
2023-03-14

这应该行得通

case "embed":
    var embed = new Discord.RichEmbed()
    .setTitle(`Title`)
    .setDescription(`Desc`)
    .addField("Title", "Description")
    message.channel.sendEmbed(embed);
    // .catch(console.error);
    break;
荆运诚
2023-03-14

将变量重命名为embed,并使用此格式

case "embed":
    var embed = new Discord.RichEmbed()
        .addField("Title", "Description")
    message.channel.send({embed});
        // .catch(console.error);
    break;
 类似资料:
  • 我试图在不和谐的情况下每隔x秒发送一条消息。js机器人。我知道如何做到这一点,但我遇到的问题是,即使我启用了slowmode,它也会发送垃圾邮件。我怎样才能解决这个问题?

  • 我见过很多不和谐的嵌入代码,比如: (这是一个老问题,我是新来的,所以…) 所以,我不明白的是什么是触发因素?就像你应该打字一样。乒乓球对吗?那么,我应该键入什么来获取我的bot类型呢?

  • 我只是想给加入服务器的新成员写一封欢迎信。我想在每次新成员加入时发送嵌入。但是,未发送嵌入。有人能帮我吗? 这是我的代码: 谢谢

  • 接口说明 轻推轻应用/订阅号支持发送文本、图片、文本卡片、图文、key-value、文件、待办等消息类型。本接口针对各种消息类型和发送的对象(单发、群发以及给部分人发送)进行了定义。 注:openid是用户关注某个轻应用/订阅号后生成的唯一id,单发和给部分人发送消息必须携带此参数,可以通过如下接口来获取: 根据qt_code获取用户基本信息 获取使用者列表 通过userId获取openid 消息

  • 主动发送消息 use EasyWeChat\Kernel\Messages\TextCard; // 获取 Messenger 实例 $messenger = $app->messenger; // 准备消息 $message = new TextCard([ 'title' => '你的请假单审批通过', 'description' => '单号:1928373, ...

  • 向已经创建连接凭据的设备发送消息数据。 请求方式: |4|2|3|message|\r 参数 message 发送的消息内容 返回值: "|4|2|3|1|\r" 发送成功 "|4|2|3|2|\r" 发送失败 Arduino样例: softSerial.print("|4|2|3|DFRobot|\r");