Javascript 如何让机器人回复表情符号?
我已经试了两个小时了。在我做了一个乒乓球拍的表情符号后,我试图让我的机器人说“他开枪了”。我一直试图将表情符号存储到一个const中,但它显示ReferenceError:客户端未定义 请帮助我,泰Javascript 如何让机器人回复表情符号?,javascript,discord.js,Javascript,Discord.js,我已经试了两个小时了。在我做了一个乒乓球拍的表情符号后,我试图让我的机器人说“他开枪了”。我一直试图将表情符号存储到一个const中,但它显示ReferenceError:客户端未定义 请帮助我,泰 const Discord = require('discord.js'); const bot = new Discord.Client(); const fs = require("fs"); const token = 'token'; const PREFIX
const Discord = require('discord.js');
const bot = new Discord.Client();
const fs = require("fs");
const token = 'token';
const PREFIX = '!';
var bat = ('https://i.ytimg.com/vi/FZzQGSBHdyk/maxresdefault.jpg');
const bat1 = client.emojis.cache.find(emoji => emoji.name === "bat1");
bot.on('ready', () =>{
console.log('This bot is online!');
})
bot.on('message', message =>{
let args = message.content.substring(PREFIX.length).split(" ");
switch(args[0]){
case 'ping':
message.channel.send('pong')
break;
case 'info':
message.channel.send('PingPongBot is a project Eefan and sc0rps is working on, which hopefully will turn into a fully playable discord game! PingPongBot will also have some helpers, the one we have so far is Bananaprey!')
break;
case 'bat':
message.channel.send(bat)
break;
}
})
bot.on('message', msg =>{
if(msg.content === bat1){
msg.reply('HE TAKES THE SHOT');
}
})
bot.login(token);
您试图在Discord客户端有机会初始化和登录之前获取表情符号,因此无法访问表情符号 假设您在Discord.js v12上运行,下面的代码应该可以工作:
const Discord=require('Discord.js');
const bot=new Discord.Client();
常数fs=要求(“fs”);
const token='token';
常量前缀='!';
var bat=('https://i.ytimg.com/vi/FZzQGSBHdyk/maxresdefault.jpg');
//将bat1初始化为空变量
让bat1;
bot.on('ready',()=>{
//客户端登录后,将表情符号转发到bat1
bat1=bot.emojis.cache.find(emoji=>emoji.name==“bat1”);
log('此bot处于联机状态!');
})
bot.on('message',message=>{
设args=message.content.substring(PREFIX.length).split(“”);
开关(参数[0]){
个案"平":
message.channel.send('pong')
打破
案例“信息”:
message.channel.send('PingPongBot是一个Eefan项目,sc0rps正在开发,希望它能变成一个完全可玩的不和谐游戏!PingPongBot也会有一些助手,到目前为止我们有一个是Bananaprey!')
打破
“蝙蝠”一案:
message.channel.send(bat)
打破
}
})
bot.on('message',msg=>{
如果(msg.content==bat1){
msg.reply(‘他开枪’);
}
})
bot.login(令牌);
如果您使用的是v11,那么它应该是
bot.emojis.find
。您忘记在代码中将客户端更改为bot:
const bat1 = bot.emojis.cache.find(emoji => emoji.name === "bat1");
这应该可以工作:)我知道我需要用bot替换客户端,但仍然不工作。它说现在类型错误:bot.emojis.find不是一个函数它是bot.emojis.cache.find(),不幸的是,即使这样也不能工作