Reputation: 51
I'm trying to log my bot's dm into other server. How could I do that? I'm using V12 discord.js.
Here is my code.
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);
}
Upvotes: 0
Views: 63
Reputation: 547
Basically, if you're trying to do that:
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
}
});
Upvotes: 0
Reputation: 6625
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);
};
});
Upvotes: 1