使用客户端的参数根据用户留在命令中的参数创建自定义嵌入消息(Discord JS)

Posted

技术标签:

【中文标题】使用客户端的参数根据用户留在命令中的参数创建自定义嵌入消息(Discord JS)【英文标题】:Using client's arguments to create a custom embedded message based off of arguments user left in command (Discord JS) 【发布时间】:2019-06-24 05:02:23 【问题描述】:

(JS 的 Noobish)我正在设置一个 Discord Bot 命令,该命令允许用户输入嵌入的消息。我想使用参数并在这样的命令中使用它

d!cembed ~title~~description~~footer~~color~~thumbnail url~

我正在使用的代码

         async run(message, args)
    
      var titleargs = message.client
      var descriptionargs = message.client
      var footerargs = message.client
      var urlargs = message.client
      
        
            var myInfo = new discord.RichEmbed()
                .setTitle(titleargs)
                .setDescription(descriptionargs)
                .setFooter(footerargs)
                .setColor(0xff0000)
                .setThumbnail(urlargs)


                message.channel.send(myInfo);

        
    
    

预期结果:消息/命令的作者将创建嵌入消息

实际结果:终端出现错误

【问题讨论】:

也许添加错误是什么? (编辑后的代码)(节点:61833)弃用警告:Collection#filterArray:使用 Collection#filter 代替(节点:61833) UnhandledPromiseRejectionWarning:TypeError:在 JSON.stringify 处将循环结构转换为 JSON( ) 【参考方案1】:

好的,如果这不是一个很好的答案,我很抱歉,但我会尽力而为。

var titleargs = message.client
var descriptionargs = message.client
var footerargs = message.client
var urlargs = message.client

message.client 在这个意义上是行不通的。客户端和消息都是类,你会想使用:

var titleargs = message.content;
var descriptionargs = message.content;
var footerargs = message.content;
var urlargs = message.content;

Content 是消息类的一个属性,它允许您使用用户输入。 https://discord.js.org/#/docs/main/stable/class/Message?scrollTo=content

此外,

var myInfo = new discord.RichEmbed()
            .setTitle(titleargs)
            .setDescription(descriptionargs)
            .setFooter(footerargs)
            .setColor(0xff0000)
            .setThumbnail(urlargs);


            message.channel.send(myInfo);

.setThumbnail(url) 仅适用于格式正确的 url。 您可以在此处找到更多信息,https://discord.js.org/#/docs/main/stable/class/RichEmbed?scrollTo=setThumbnail 以及 RichEmbed 的其他方法。我希望这会有所帮助!

【讨论】:

以上是关于使用客户端的参数根据用户留在命令中的参数创建自定义嵌入消息(Discord JS)的主要内容,如果未能解决你的问题,请参考以下文章

Asp.Net Mvc WebSocket - 客户端的自定义参数

zabbix 自定义参数及邮件报警

Spring Cloud Feign实现自定义复杂对象传参

Facebook 分享对话框/提要对话框和自定义标题/描述

自定义监控

vSphere Web 客户端的自定义插件中的 AngularJS UI 渲染问题