我正在尝试将我的机器人的dm登录到其他服务器。我该怎么办?我正在使用V12 discord.js。
这是我的代码。
let channelID = "722595878636XX3XX5";
let guildID = "722595878636XX3XX1";
if(message.channel.type === `dm`){
let embed = new Discord.RichEmbed()
.setAuthor(client.guilds.cache.get(guildID).members.cache.get(message.author.id).displayName)
.setColor('#7ED321')
.setDescription(message.content);
client.channels.cache.get(channelID).send(embed);
}
答案 0 :(得分:1)
client.on("message", (message) => {
if (!message.guild) { // DM Message
const Embed = new discord.MessageEmbed(); // In V12 RichEmbed changed to MessageEmbed;
const Channel = client.channels.cache.get("ChannelID");
Embed.setAuthor(`Private Message from ${message.author.tag}`, message.author.avatarURL()); // In V12 avatarURL is a method;
Embed.setColor("#7ED321");
Embed.setDescription(message.content);
if (!Channel) {return console.error(`Invalid Channel`)};
Channel.send(Embed);
};
});
答案 1 :(得分:0)
基本上,如果您要尝试这样做:
const { Client, MessageEmbed } = require('discord.js');
const client = new Client();
client.on("message", async message => {
if (!message.guild) { // if there is no guild, then this is a DM
var embed = new MessageEmbed() // creates new embed (use MessageEmbed for v12)
.setTitle(`DM recieved from ${message.author.tag} (${message.author.id})`)
.setDescription(message.content)
.setTimestamp();
var channel = client.channels.cache.get("ChannelID"); // get channel
channel.send(embed); // send embed
}
});