Discord.js 是否可以发出设置日志通道的命令?

Discord.js 是否可以发出设置日志通道的命令?,discord.js,Discord.js,我正在创建一个新的用于调节的命令,我想知道是否可以生成一个设置日志通道的命令,例如,如果他们将其设置为#logs,如果他们禁止某个成员,它会向#logs发送一条消息,谢谢 我试过DB和一个支持服务器,但没有人知道如何创建一个 我试过这个: if (command === "ban") { if (!message.member.hasPermission(["BAN_MEMBERS", "ADMINISTRATOR"])) return message.channel.send("Er

我正在创建一个新的用于调节的命令,我想知道是否可以生成一个设置日志通道的命令,例如,如果他们将其设置为#logs,如果他们禁止某个成员,它会向#logs发送一条消息,谢谢

我试过DB和一个支持服务器,但没有人知道如何创建一个

我试过这个:

if (command === "ban") {

    if (!message.member.hasPermission(["BAN_MEMBERS", "ADMINISTRATOR"])) return message.channel.send("Error: Insufficient Permissions")

    if (!message.guild.me.hasPermission(["BAN_MEMBERS", "ADMINISTRATOR"])) return message.channel.send(`Error: I have Insufficient Permissions to ban Members`)

    let member = message.mentions.members.first() || message.guild.members.get(args[0]);
    if (!member) return message.channel.send(`Error: Missing Arguments, define member\nUsage: ${prefix}ban [member] [reason]`)

    if (member.hasPermission("BAN_MEMBERS", "KICK_MEMBERS", "MANAGE_SERVER", "ADMINISTRATOR", "MANAGE_MESSAGES", "MANAGE_ROLES")) return message.channel.send(`Error: That user is a mod/admin, I can't do that.`)


    if (!member.bannable)
      return message.channel.send(`I cannot ban ${member}`)

    let reason = args.slice(1).join(" ");
    if (!reason) return message.channel.send(`Error: Missing Arguments, define reason\nUsage: ${prefix}ban [member] [reason]`)

    let log = db.fetch(`channel_${message.guild.id}`)

    if (log === null) return

    let logged = message.guild.channels.get(log)

    member.ban(reason)

    logged.send(`Banned!`)


    message.channel.send(`${member.user.tag} has been successfully banned`)

  }

我希望它会向记录的频道发送消息。

因此,首先,您可以创建一个文件,例如
setlogchannel.js
,将频道保存在数据库中,我很确定您使用的是quick.db,这样您就可以复制并粘贴代码了

const {discord, MessageEmbed } = require('discord.js');
let db = require('quick.db')
module.exports.run = async (client, message, args) => {
      try {
  message.delete(15000)
  let ads = db.get(`channel_${message.guild.id}`);
  if (!message.member.hasPermission('ADMINISTRATOR')) return message.reply("Nope!").then(m => m.delete(15000));
  if(!args[0]) return message.reply("You should enter a channel");
  if (!ads) {
    db.set(`channel_${message.guild.id}`, args[1])
    return message.reply("Done, the log channel is :", args).then(msg => msg.delete(15000))
  }
     } catch (error) {
      console.error(error);
      let embed = new MessageEmbed()
        .setTitle('Something went wrong!')
        .setColor('RED');
      return message.say(embed).then(msg => msg.delete({ timeout: 15000}));
    }


}
module.exports.help = {
  name: 'setlogchannel',
  aliases: ['slc']
};              
index.js
上,您只需验证它是否存在,如果存在,则只需将它发送到该频道


if (command === "ban") {

    if (!message.member.hasPermission(["BAN_MEMBERS", "ADMINISTRATOR"])) return message.channel.send("Error: Insufficient Permissions")

    if (!message.guild.me.hasPermission(["BAN_MEMBERS", "ADMINISTRATOR"])) return message.channel.send(`Error: I have Insufficient Permissions to ban Members`)

    let member = message.mentions.members.first() || message.guild.members.get(args[0]);
    if (!member) return message.channel.send(`Error: Missing Arguments, define member\nUsage: ${prefix}ban [member] [reason]`)

    if (member.hasPermission("BAN_MEMBERS", "KICK_MEMBERS", "MANAGE_SERVER", "ADMINISTRATOR", "MANAGE_MESSAGES", "MANAGE_ROLES")) return message.channel.send(`Error: That user is a mod/admin, I can't do that.`)

    if (!member.bannable)
      return message.channel.send(`I cannot ban ${member}`)

    let reason = args.slice(1).join(" ");
    if (!reason) return message.channel.send(`Error: Missing Arguments, define reason\nUsage: ${prefix}ban [member] [reason]`)

    let log = db.fetch(`channel_${message.guild.id}`)

    if (log) {
    let logged = message.guild.channels.get(log)
    logged.send(`Banned!`)
    }
    member.ban(reason)
    message.channel.send(`${member.user.tag} has been successfully banned`)

  }

就我而言,它起作用了,你能更具体地解释一下什么不起作用吗;我做message.channel.send not message.say,沿着嵌入,我使用let embed=new Discord.RichEmbed();我浏览了整个支持服务器,还没有找到如何使用它。这与你的问题有什么关系?你能显示错误日志吗