簡體   English   中英

使用斜杠命令中的選項使用 discord.js DM 特定用戶

[英]DM a specific user with discord.js with options in a slash command

今天我試圖發出一個 /warn 命令,讓 DM 警告用戶,但是當我這樣做時,我看到一條錯誤消息:“為此請求設置預期的令牌,但不存在”任何人都可以幫助我嗎?

有我的代碼:

const { SlashCommandBuilder, PermissionFlagsBits, messageLink, Client } = require('discord.js');
const { GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });


module.exports = {
    data: new SlashCommandBuilder()
        .setName('warn')
        .setDescription('Choisi une qqun à warn.')
        .addUserOption(option =>
            option
                .setName('cible')
                .setDescription('Le membre à warn')
                .setRequired(true))
        .addStringOption(option =>
            option
                .setName('raison')
                .setDescription('La raison du warn'))
        .setDefaultMemberPermissions(PermissionFlagsBits.BanMembers)
        .setDMPermission(false),
        async execute(interaction) {
            const target = interaction.options.getUser('cible');
            
            await client.users.send(target.id, 'vous avez été warn.')
            await interaction.reply(`${target.username} warn`);
        },
};

你只需要做

let raison = interaction.options.getString('raison');
if (!raison) raison = "No raison provided.";
try { 
target.send(`vous avez été warn. \n> Raison: ${raison}`)
} catch (e) { interaction.reply({content: 'couldn\'t dm user his DMs are closed', ephemeral: true}) } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM