如何要求用户向 Discord Bot 输入第二个输入?
Posted
技术标签:
【中文标题】如何要求用户向 Discord Bot 输入第二个输入?【英文标题】:How to require from the user entering a second input to a Discord Bot? 【发布时间】:2020-10-29 03:40:12 【问题描述】:我正在尝试编写一个命令,该命令要求用户在初始输入后输入另一个输入。我尝试在包含命令模块的文件中创建客户端连接。
但是,我已经尝试和研究了没有结果,当我输入第二个输入时,机器人没有响应。
我尝试将主要参数传递给命令,以查看机器人是否可以接收另一个输入,但以评估第一个输入结束。
这是我第一次尝试创建代码的示例:
const Discord = require('discord.js');
const client = new Discord.Client();
ule.exports =
name: 'command',
description: 'A test command',
execute(message, args)
if(args == '1')
message.channel.send('Enter another input');
client.on('message', message =>
if(!message.content.length || message.author.bot) return;
const args = message.content.slice().split();
if(args == '2')
message.channel.send('Done!');
);
我曾想过在“client.on”函数中更改“message”参数的名称,但得到了相同的结果,我不确定它的范围是否仅在函数内部而不仅仅是传递的来自“执行”函数的参数
【问题讨论】:
我在看文档,你试过这样做吗? github.com/discordjs/guide/blob/master/code-samples/… 实际上没有,我为每个命令使用一个模块。 【参考方案1】:您要么创建awaitMessages
if(!args[0]) return
if(!args[1])
message.channel.send('Enter another input').then(m =>
const m = await msg.channel.awaitMessages((mes) => mes.author.id == message.author.id, max: 1, time: 50000, errors: ['time'] ).catch(err => console.log(err))
args[1] = m.first();
)
如果没有第二个参数,你就不要运行命令
if(!args[0]) return
if(!args[1]) return message.reply("You need to insert the second argument")
【讨论】:
以上是关于如何要求用户向 Discord Bot 输入第二个输入?的主要内容,如果未能解决你的问题,请参考以下文章
如何制作一个 Discord Bot 来找到与您输入的命令最接近的响应
如何从 Youtube 向 discord bot python 发送视频