Javascript 如何让机器人回复表情符号?

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中,但它显示ReferenceError:客户端未定义 请帮助我,泰

    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(),不幸的是,即使这样也不能工作