Javascript Discord.js-有没有办法设置单击事件处理程序?

Javascript Discord.js-有没有办法设置单击事件处理程序?,javascript,ecmascript-6,discord.js,Javascript,Ecmascript 6,Discord.js,我有一个机器人,它用命令列出一堆音频剪辑!音频 exports.run = (client, message, args) => { const audioFolder = './audio/'; const fs = require('fs'); fs.readdir(audioFolder, (err, files) => { let filelist = ''; files.length && files.

我有一个机器人,它用命令
列出一堆音频剪辑!音频

exports.run = (client, message, args) => {
    const audioFolder = './audio/';
    const fs = require('fs');
    fs.readdir(audioFolder, (err, files) => {
        let filelist = '';
        files.length && files.forEach(file => {
            const audioFile = file.replace('.mp3', '');
            filelist += `${audioFile}\n`;
        });
        message.channel.send(`${filelist}`);
    });
}
另一个命令是
!播放文件名

exports.run = (client, message, args) => {
    const   audioFolder = './audio/';
    const   fs = require('fs');
    const   fileName = args.join(' ');

    if( !fileName )  {
        message.channel.send(`Please request a filename. Example: !play filename`);
        return;
    }

    fs.readdir(audioFolder, (err, files) => {
        if( !files.includes(`${fileName}.mp3`) ) {
            message.channel.send(`File '${fileName}' does not exist, use !audio to see the full list of audio files.`);
            return;
        }

        const voiceChannel = message.member.voice.channel;

        if( !voiceChannel ) {
            message.channel.send(`You must be in a voice channel to use this command.`);
            return;
        }
    
        voiceChannel.join()
            .then(connection => {
                const dispatcher = connection.play(`./audio/${fileName}.mp3`);
                dispatcher.on('finish', () => {
                    voiceChannel.leave();
                });
            })
            .catch(console.error);
    });
}
我想要的是不必使用
!播放
命令。当使用
时音频文件列表出现时!音频
我想让用户点击单个文件,它会根据点击的文件运行与播放命令类似的功能

我在discordjs中找不到任何有关单击事件的信息


有什么想法吗?

我认为这是不可能的(如果我正确理解了你的问题),我认为一个可能的创造性解决方案是使用反应。除此之外,您可能还需要使用web服务器和链接。