Javascript 正在努力向我的discord机器人添加用户输入功能
我可以嵌入一个专用链接,但我想要的是能够将metazospellbook链接的${query}部分更改为用户输入。例如,如果我想显示Jersey Devil的图像,我会键入“!card Jersey Devil”,这将对应于链接的名称https://metazoospellbook.com/image/Jersey DevilKS.png'。蚂蚁的帮助将不胜感激 看起来它应该能工作了。但是,我认为您的Javascript 正在努力向我的discord机器人添加用户输入功能,javascript,discord.js,Javascript,Discord.js,我可以嵌入一个专用链接,但我想要的是能够将metazospellbook链接的${query}部分更改为用户输入。例如,如果我想显示Jersey Devil的图像,我会键入“!card Jersey Devil”,这将对应于链接的名称https://metazoospellbook.com/image/Jersey DevilKS.png'。蚂蚁的帮助将不胜感激 看起来它应该能工作了。但是,我认为您的args.join(“”)方法中可能缺少一个空格,用于声明查询。 const Discord =
args.join(“”)
方法中可能缺少一个空格,用于声明查询
。
const Discord = require('discord.js');
const fetch = require('node-fetch');
const config = require('./config.json');
const client = new Discord.Client();
const querystring = require('querystring');
const prefix = '!';
const trim = (str,max) => str.length > max ? `${str.slice(0, max - 3)}...` : str;
const user = client.user
const guild = client.guilds.cache.get('673295243994726410')
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', message => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).trim().split(/ +/);
const command = args.shift().toLowerCase();
if (command === 'card') {
if (!args.length) {
return message.channel.send('That card name is not valid');
}
const query = querystring.stringify({ term: args.join('') });
const { list } = await fetch (`https://metazoospellbook.com/image/${query}KS.png`).then(response => response.json());
if (!list.length) {
return message.channel.send(`notapplicable for **${args.join(' ')}**.`);
}
const [answer] = list;
const Embed = new Discord.MessageEmbed()
.setColor('#0099ff')
.setImage(`https://metazoospellbook.com/image/${query}KS.png`)
message.channel.send(Embed);