¿Por qué message.author.id y creé el canal con permisos especiales?
const {SlashCommandBuilder} = require("@discordjs/builders") const { Client, Permissions } = require('discord.js'); module.exports = { //Create the Command data: new SlashCommandBuilder() .setName("veranstaltung") .setDescription(`erstelle eine Veranstaltung`) .addStringOption(option1=> option1.setName("name").setDescription("Der Name der Veranstaltung").setRequired(true)) .addStringOption(option2=> option2.setName("datum").setDescription("Das Datum der Veranstaltung").setRequired(true)), async execute(message){ const name = message.options.get("name").value const Datum = message.options.get("datum").value const userid = //Create the Channel with Permissions message.guild.channels.create('new-voice', { type: 'GUILD_VOICE', permissionOverwrites: [ { id: message.author.id, deny: [Permissions.FLAGS.VIEW_CHANNEL], }, ], }) .then( message.reply ("Der Kanal " + name + " am " + Datum + " Wurde erfolgreich erstellt") ) } }Parece que estás usando interacciones. Para acceder al objeto de usuario, use Interaction.user , no Interaction.author (esto se usa en los comandos de mensajes). Entonces, para acceder a la identificación del autor, use lo siguiente:
message.user.idDocumentos: https://discord.js.org/#/docs/discord.js/stable/class/Interaction?scrollTo=user
Los comandos de barra no son mensajes, son interaction . Por lo tanto, debe usar su controlador como interactionCreate Crear y en su archivo de comando editará todas las cosas de acuerdo con la interacción. Siempre que desee obtener la identificación de quién usó el comando, usará;
interaction.user.idPuede buscar documentos para obtener más información.