Как создать канал discord js

Я создаю бота на discord, я хотел бы создать новый канал с помощью команды, в которой отправляется встраивание с различными функциями. Я попробовал несколько методов, я могу отправить сообщение по умолчанию во вновь созданном канале, но я не могу заставить его вызвать команду, которая отправляет мне встраивание

это встраивание, которое я хочу отправить в канал, который я создаю с помощью команды (setup.js)

module.exports = < name: ‘setup’, description: «ruoli con emote», async execute(message, args, Discord, client)< const channel = ‘831573587579371580’; const playem = ‘⏯️’; const stopem = ‘⏹️’; const nextem = ‘⏭️’; //const shuffleem = »; const loopem = »; const volume15 = »; const volume30 = »; const mute= » let embed = new Discord.MessageEmbed() .setColor(‘#e42643’) .setTitle(‘Barman’) .setImage(‘https://images4.alphacoders.com/943/943845.jpg’) .setFooter(‘il prefisso del bot è: *’); console.log(‘message: ‘ message ) console.log(‘args: ‘ args) console.log(‘Discord: ‘ Discord) console.log(‘client: ‘ client) let messageEmbed = await message.channel.send(embed); messageEmbed.react(playem); messageEmbed.react(stopem); messageEmbed.react(nextem); //messageEmbed.react(shuffleem); messageEmbed.react(loopem); messageEmbed.react(volume15); messageEmbed.react(volume30); messageEmbed.react(mute); client.on(‘messageReactionAdd’, async (reaction, user) => < if (reaction.message.partial) await reaction.message.fetch(); if (reaction.partial) await reaction.fetch(); if (user.bot) return; if (!reaction.message.guild) return; if (reaction.message.channel.id == channel)< switch(reaction.emoji.name)< case playem: console.log(‘Pausa / resume’); client.commands.get(‘psres’).execute(client, message, args); break; case stopem: console.log(‘stop’); client.commands.get(‘stop’).execute(client, message, args); break; case nextem: console.log(‘Skip’); client.commands.get(‘skip’).execute(client, message, args); break; case loopem: console.log(‘loop’); client.commands.get(‘loop’).execute(client, message, args) break; case volume15: console.log(‘volume15’); client.commands.get(‘volume15’).execute(client, message, args) break; case volume30: console.log(‘volume30’); client.commands.get(‘volume30’).execute(client, message, args) break; case mute: console.log(‘muto’); client.commands.get(‘mute’).execute(client, message, args) break; >> >); > >

это моя функция канала создания

[NEW] Embed Builder GUIDE || Discord.JS v14


if(command === ‘setup’)< var botname= ‘DJ Musica’ // setup messaggio con reazioni message.guild.channels.create(botname,< //Create a channel type: ‘text’, //Make sure the channel is a text channel permissionOverwrites: [< //Set permission overwrites id: message.guild.id, allow: [‘VIEW_CHANNEL’], >] >).then(channel => channel.send(‘eccoci ‘ message.channel.id))

Еще по теме:  Почему пропадает звук в игре когда захожу в дискорд

Ответ №1:

В discord.js руководство предоставляет хороший метод динамической обработки команд.

Чтобы настроить его для выполнения модуля, я последовал discord.js руководству и создал свой собственный динамический обработчик команд. С этим я мог бы легко вызвать команду и просто выполнить ее.

How to make a Discord Bot for Beginners (Discord.js v14)


const fs = require(«fs»); //used to read files const Discord = require(‘discord.js’); const client = new Discord.Client(); client.commands = new Discord.Collection(); //returns array of files in directory that read w/ end of «.js» const commandFiles = fs.readdirSync(‘./commands’).filter(file => file.endsWith(‘.js’)); for (const file of commandFiles) < const command = require(`./commands/$`); client.commands.set(command.name, command); console.log(command); > client.on(‘message’, message => < const prefix = ‘!’; if (message.author.bot) return; const args = message.content.slice(prefix.length).trim().split(/ /); const command = args.shift().toLowerCase(); if (!client.commands.has(command)) return; if (command === ‘setup’) < var botname = ‘DJ Musica’ // setup messaggio con reazioni message.guild.channels.create(botname, < //Create a channel type: ‘text’, //Make sure the channel is a text channel permissionOverwrites: [< //Set permission overwrites id: message.guild.id, allow: [‘VIEW_CHANNEL’], >] >).then(channel => < //main part I modified channel.send(‘eccoci ‘ message.channel.id); client.commands.get(command).execute(message, args, Discord, new Discord.Client()); >) > >);

Ответ №2:

Если я не ошибаюсь, код для отправки сообщения в канале, созданном ботом, таков

message.guild.channels.create(‘CHANNEL NAME HERE’, < reason: ‘Needed a cool new channel’ >) .then(channel => < channel.send(‘MESSAGE HERE’) >)

1. это аналогичный способ отправки сообщений в канале, однако моя проблема в том, что я не хочу отправлять сообщение, но я хочу запустить определенную команду, в данном случае setup.js

Вам также может понравиться

Справка Notepad : Добавление атрибута после узла

17 января, 2022

Как программы взаимодействуют друг с другом?

2 апреля, 2023

Twig не может использовать ключевое слово OR

8 мая, 2023

Еще по теме:  Как сделать встроенное сообщение в дискорд

  • О нас
  • Онлайн игры
  • Конвертеры
  • Base64 конвертер онлайн
  • Оформление кода JavaScript CSS HTML Онлайн
  • URL Encoder (кодировщик) / Decoder (декодировщик) онлайн
  • Конвертер регистров
  • Рассчитать количество дней между датами
  • Генератор ключей и паролей
  • Генератор QR кодов
  • Преобразование времени
  • Преобразование микросекунд в секунды
  • Преобразование микросекунд в миллисекунды
  • Преобразование миллисекунд в микросекунды
  • Преобразование миллисекунд в секунды
  • Преобразование миллисекунд в минуты
  • Преобразование миллисекунд в часы
  • Преобразователь миллисекунд в дату
  • Преобразование секунд в миллисекунды
  • Преобразование секунд в минуты
  • Преобразование секунд в часы
  • Преобразование секунд в дни
  • Преобразование минут во время
  • Преобразование минут в миллисекунды
  • Преобразование минут в секунды
  • Преобразование минут в часы
  • Преобразование часов в миллисекунды
  • Преобразование часов в секунды
  • Преобразование часов в минуты
  • Преобразование часов в дни
  • Преобразование дней в часы
  • Преобразование из часы в недели
  • Конвертация из недели в часы
  • Через несколько часов калькулятор
  • Преобразование времени AM/PM в 24-часовое
  • Преобразование Военного Времени
  • Время до десятичного калькулятора
  • Безопасность
  • Финансы
  • Энциклопедия

Источник: programbox.ru

Discord.js: создание каналов в категориях

Я хочу создать бота, который проектирует сервер, поэтому его задача — создавать каналы и роли, чтобы владельцу не приходилось тратить время на настройку сервера. Это мой код:

if (message.content === ‘tchannel’) < message.guild.channels.create(‘Important’, < type: ‘category’, permissionOverwrites: [ < id: message.guild.id, allow: [‘VIEW_CHANNEL’], >] >) message.guild.channels.create(‘Rules’, < type: ‘text’, permissionOverwrites: [ < id: message.guild.id, allow: [‘VIEW_CHANNEL’], >] >) message.channel.send(«Channel Created!») >

Что мне интересно, есть ли способ подключить текстовый канал к категории, а не сделать его отдельно?

user13746070 09 июл ’20 в 16:07 2020-07-09 16:07
2020-07-09 16:07

1 ответ

Параметр не нужен cat иметь cat.parentID . Просто положи cat и все должно быть хорошо.

message.guild.channels.create(‘Important ‘, < type: ‘category’, position: 1, permissionOverwrites: [ < id: message.guild.id, allow: [‘VIEW_CHANNEL’], >] >).then(cat => < message.guild.channels.create(‘Rules’, < type: ‘text’, parent: cat, permissionOverwrites: [ < id: message.guild.id, allow: [‘VIEW_CHANNEL’], >] >)
user14023978 22 ноя ’20 в 15:50 2020-11-22 15:50
2020-11-22 15:50

Еще по теме:  Не работает дискорд на телефоне микрофон

Я думаю, вы имеете в виду, что когда вы выполняете команду для создания канала, он должен создать его в категории текущего канала.

Если да, то вам понадобится это:

const category = client.channels.cache.get(message.channel.parentID)
user14529032 20 ноя ’20 в 01:30 2020-11-20 01:30
2020-11-20 01:30

Просто добавьте метод.then и получите от него parentID. Либо вы можете назначить категорию переменной и назначить ее после, если вы будете использовать ее кому-либо еще.

message.guild.channels.create(‘Important’, < type: ‘category’, permissionOverwrites: [ < id: message.guild.id, allow: [‘VIEW_CHANNEL’], >] >).then(cat => < message.guild.channels.create(‘Rules’, < type: ‘text’, parent: cat.parentID, permissionOverwrites: [ < id: message.guild.id, allow: [‘VIEW_CHANNEL’], >] >) >)

Источник: stackru.com

Как создать текстовый канал

Недавно я создавал discord-бота, и хотел сделать канал, когда игроки вводят команду >report [Tag] [Reason] .

Вот два метода, которые я пробовал (один из них из предыдущего вопроса на StackOverflow, который не сработал для меня):

function makeChannel(message)

Затем я попробовал свою собственную версию, чтобы проверить, смогу ли я это сделать:

var name = message.author.username; let reportchannel = server.createChannel(name, «text»); message.createChannel(reportchannel);

Но ни то, ни другое не работает, и я умираю от желания получить помощь!

Спасибо за помощь и предложения, очень признателен!

1 2019-01-08T20:25:03+00:00 1
Federico Grandi
Редактировал вопрос 9-го января 2019 в 3:12
Решение / Ответ
8-го января 2019 в 11:02
2019-01-08T23:02:03+00:00

Дополнительно

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

let name = message.author.username; message.guild.createChannel(name, ‘text’) .then(console.log) .catch(console.error);

Также, еще одно мое предложение — использовать let вместо var , потому что эта причина

edit: Just noticed the main reason this is’t working for you is because you’re using message.createChannel() and note message.guild.createChannel() .

Источник: kzen.dev

Рейтинг
( Пока оценок нет )
Загрузка ...