Prevent Discord bot from responding to direct messages

To prevent the Discord bot from responding to direct messages, you can add a check at the beginning of the code to see if the message came from a direct message channel. If it is a direct message, return it without taking any action.

You can check if the message’s channel is a guild channel (a server channel) by looking at the guild_id property. If guild_id is undefined, it means the message is from a direct message channel, and the bot should not respond. Here’s the corrected modification:

// Check if the message is from a direct message channel
if (!event.guild_id) {
  return;
}

The example code is integrated.

// authenticates you with the API standard library
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});

let event = context.params.event;
let mentions = event.mentions;
let botMention = mentions.find(mention => mention.bot);
let content = event.content;
let author = event.author;
let message = content.replace(/<@(\d+)>/gi, ($0, $1) => {
  let mention = mentions.find(mention => mention.id === $1);
  if (mention) {
    return `<@${mention.username}>`;
  } else {
    return `<@:unknown>`;
  }
});

// Check if the message is from a direct message channel
if (!event.guild_id) {
  return;
}

message = message.trim();
let botName = `<@${botMention.username}>`;
let prompt = message;

// Get rid of the bot name if it's at the start of the message

Add a Comment

Your email address will not be published. Required fields are marked *