Получать команды из определенного канала

#mongodb #discord.js

#mongodb #discord.js

Вопрос:

Как я могу заставить бота получать команды от определенных каналов, и если канала нет, он принимается со всех каналов и подключается к MongoDB?

Я могу выполнить команду приема из определенного канала, используя идентификатор канала, но я хочу через команду:

!setChannel #ID_CHANNEL OR mention

Я пробовал эти коды

 let channel = message.mentions.channels.first()
if(!args[0]) return message.channel.send('Please Mention Channel');
if(!channel) return message.channel.send('Please Mention Vaild Channel');

/*-----------------------------in mongedb add Guild id   channel id------------------------------

in quick.db it is like this -->

db.set("commands_channel_"  message.guild.id   channel.id, true)*/

message.channel.send(`Commands Channel: ${channel}`);
    
 let CommandsChannel = db.get("commands_channel_"  message.guild.id   channel.id)
if(!CommandsChannel) return
//-------------------------------//
if(CommandsChannel = true) {

// else command code //
} 

Комментарии:

1. Что пошло не так с вашим кодом?

Ответ №1:

ошибка в коде

 (node:4456) UnhandledPromiseRejectionWarning: Error: `commands_channel_708596988995829762709436321805893753` is an invalid option.
    at Mongoose.set (/rbd/pnpm-volume/34e95e32-ea3c-4e44-8fb4-6f803dcbc088/node_modules/.registry.npmjs.org/mongoose/5.10.15/node_modules/mongoose/lib/index.js:179:48)
at Object.run (/app/commands/admin/setchannel.js:19:10)
at module.exports (/app/events/message.js:152:17)
    at processTicksAndRejections (internal/process/task_queues.js:88:5)
(node:4456) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)