Javascript 后述用户';s使用Discord.js嵌入的头像
我正在使用Discord.js作为Discord机器人,我正在尝试这样做,以便在您执行命令时!化身@用户 它将以所述用户化身的嵌入图像回复。我不断得到:Javascript 后述用户';s使用Discord.js嵌入的头像,javascript,discord,discord.js,Javascript,Discord,Discord.js,我正在使用Discord.js作为Discord机器人,我正在尝试这样做,以便在您执行命令时!化身@用户 它将以所述用户化身的嵌入图像回复。我不断得到: (node:3168) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body embed.image.url: Not a well formed URL. 这是我到目前为止的代码,但是我不知道如何抓取用户的头像 const Discord = req
(node:3168) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body embed.image.url: Not a well formed URL.
这是我到目前为止的代码,但是我不知道如何抓取用户的头像
const Discord = require('discord.js');
const config = require('./config.json');
const client = new Discord.Client();
function getUserFromMention(mention) {
if (!mention) return;
if (mention.startsWith('<@') && mention.endsWith('>')) {
mention = mention.slice(2, -1);
if (mention.startsWith('!')) {
mention = mention.slice(1);
}
return client.users.get(mention);
}
}
function getUserFromMentionRegEx(mention) {
const matches = mention.match(/^<@!?(\d+)>$/);
const id = matches[1];
return client.users.get(id);
}
client.once('ready', () => {
console.log('Ready!');
});
const prefix = "!";
client.on('message', message => {
if (!message.content.startsWith(prefix)) return;
const withoutPrefix = message.content.slice(prefix.length);
const split = withoutPrefix.split(/ +/);
const command = split[0];
const args = split.slice(1);
if (command === 'avatar') {
if (args[0]) {
const user = getUserFromMention(args[0]);
const userAvatar = user.displayAvatarURL;
if (!user) {
return message.reply('Please use a proper mention if you want to see someone else\'s avatar.');
}
const avatarEmbed = new Discord.RichEmbed()
.setColor('#275BF0')
.setImage('userAvatar');
message.channel.send(avatarEmbed);
}
return message.channel.send(`${message.author.username}, your avatar: ${message.author.displayAvatarURL}`);
}
});
client.login(config.token);
const Discord=require('Discord.js');
const config=require('./config.json');
const client=new Discord.client();
函数getUserFromTitle(提及){
如果(!提及)返回;
如果(用(“”)表示开始){
提及=提及.切片(2,-1);
如果(提及.startsWith(“!”){
提及=提及。切片(1);
}
返回client.users.get(提及);
}
}
函数getUserFromInetitionRegex(提及){
const matches=提及.match(/^$/);
常量id=匹配项[1];
返回client.users.get(id);
}
client.once('ready',()=>{
console.log('Ready!');
});
常量前缀=“!”;
client.on('message',message=>{
如果(!message.content.startsWith(prefix))返回;
const withoutPrefix=message.content.slice(前缀.length);
常量拆分=不带outprefix.split(+/);
const命令=拆分[0];
常量args=split.slice(1);
如果(命令==='avatar'){
if(args[0]){
const user=getuserfromtoite(args[0]);
const userAvatar=user.displayAvatarURL;
如果(!用户){
返回消息。回复('如果你想看别人的头像,请适当提及');
}
const avatarEmbed=newdiscord.RichEmbed()
.setColor(“#275BF0”)
.setImage(“用户化身”);
message.channel.send(虚拟现实);
}
返回message.channel.send(`message.author.username},您的化身:${message.author.displayAvatarURL}`);
}
});
client.login(config.token);
您不需要用另一个函数解析提到的内容,discord有这个方法。您可以使用message.notices.members.first()
你试着用文本userAvatar
将图像设置为一个字符串,以确保出错
你可以获得会员头像,并将其与此代码一起发送
const Discord = require('discord.js');
const config = require('./config.json');
const client = new Discord.Client();
client.once('ready', () => {
console.log('Ready!');
});
const prefix = "!";
client.on('message', message => {
if (!message.content.startsWith(prefix)) return;
const withoutPrefix = message.content.slice(prefix.length);
const split = withoutPrefix.split(/ +/);
const command = split[0];
const args = split.slice(1);
if (command === 'avatar') {
let targetMember;
if(!message.mentions.members.first()) {
targetMember = message.guild.members.get(message.author.id);
} else {
targetMember = message.mentions.members.first()
}
let avatarEmbed = new Discord.RichEmbed()
.setImage(targetMember.user.displayAvatarURL)
.setColor(targetMember.displayHexColor);
message.channel.send(avatarEmbed);
}
});