BULLETBOT
BULLETBOT

Reputation: 51

How could I log my bot's dm into other server? | Discord.js

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

Answers (2)

Infiniwave
Infiniwave

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

Jakye
Jakye

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

Related Questions