它发送[object Object]
。控制台中没有错误。
let embed = new Discord.MessageEmbed()
.setTitle('Availible Roles')
.setColor('RANDOM')
.setDescription(roles.array().join(' \n'));
message.channel.send(embed, { split: true });
其余代码
const Discord = require('discord.js');
const { prefix, token } = require('../config.json');
module.exports = {
name: '',
description: '',
execute(message, args, client) {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const roles = message.guild.roles.cache.filter(c => c.name.startsWith('A'))
const arr = roles
.array()
.join('\n')
.match(/.{1,2048}/g);
for (let chunk of arr) {
// loop through every element (every 2048 characters)
let embed = new Discord.MessageEmbed()
.setTitle('Available Roles')
.setColor('RANDOM')
.setDescription(chunk);
message.channel.send(embed); // wait for the embed to be sent
}
},
};
常量角色= message.guild.roles.cache.filter(c => c.name.startsWith('A'))
答案 0 :(得分:0)
您的问题是 rules: {
'react/self-closing-comp':
process.env.NODE_ENV === 'production'
? 'error'
: 'warn',
。此选项可能会使嵌入混乱,因为它用于常规文本消息。如果将其删除,则嵌入应该可以正常工作。
如果您担心角色过多并且超过2048个字符的限制,则可以实现此功能:
{ split: true }
代码段示例:
// array of your description split every 2048 characters
const arr = roles
.array()
.join('\n')
.match(/.{1,2048}/g);
for (let chunk of arr) {
// loop through every element (every 2048 characters)
let embed = new Discord.MessageEmbed()
.setTitle('Available Roles')
.setColor('RANDOM')
.setDescription(chunk);
await message.channel.send(embed); // wait for the embed to be sent
}