Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Discord.js中按名称查找表情符号_Javascript_Node.js_Bots_Discord_Discord.js - Fatal编程技术网

Javascript 如何在Discord.js中按名称查找表情符号

Javascript 如何在Discord.js中按名称查找表情符号,javascript,node.js,bots,discord,discord.js,Javascript,Node.js,Bots,Discord,Discord.js,因此,在过去的几天里,我一直感到非常沮丧,因为我无法在网上找到一个资源,来正确记录如何在用javascript编写discord机器人时找到表情。我一直在参考本指南,其有关表情符号的文档似乎要么是错误的,要么是过时的: 我需要的是简单;只需使用.find()函数引用表情符号并将其存储在变量中即可。这是我当前的代码: const Discord=require(“Discord.js”); const config=require(“./config.json”); 常数fs=要求(“fs”);

因此,在过去的几天里,我一直感到非常沮丧,因为我无法在网上找到一个资源,来正确记录如何在用javascript编写discord机器人时找到表情。我一直在参考本指南,其有关表情符号的文档似乎要么是错误的,要么是过时的:

我需要的是简单;只需使用
.find()
函数引用表情符号并将其存储在变量中即可。这是我当前的代码:

const Discord=require(“Discord.js”);
const config=require(“./config.json”);
常数fs=要求(“fs”);
const client=new Discord.client();
const guild=new Discord.guild();
constbean=client.emojis.find(“name”、“bean”);
client.on(“message”,(message)=>{
if(bean){
如果(!message.content.startsWith(“@”)){
if(message.channel.name==“bean”| | message.channel.id==“478206289961418756”){
if(message.content.startsWith(“”){
message.react(bean.id);
}
}
}
}
否则{
错误(“错误:找不到bean表情符号”);
}
});
p、 整个豆子事件只是一个测试

但每次我运行此代码时,它都会返回此错误并消失:

(节点:3084)弃用警告:收集#查找:改为传递函数


有什么我错过的吗?我被难住了……

我从未使用过
discord.js
,所以我可能完全错了


从警告中我想说你需要做点什么

client.emojis.find(emoji => emoji.name === "bean") 

再加上在看了之后,这似乎是一条路要走。但是文档中从来没有提到任何关于
client.emojis.find(“name”,“bean”)
的错误

我从来没有使用过
discord.js
,所以我可能完全错了


从警告中我想说你需要做点什么

client.emojis.find(emoji => emoji.name === "bean") 

再加上在看了之后,这似乎是一条路要走。但是文档从来没有提到任何关于
client.emojis.find(“name”,“bean”)
错误的内容

我已经对您的代码进行了更改

我希望它能帮助你

const Discord=require(“Discord.js”);
const client=new Discord.client();
client.on('ready',()=>{
console.log('ready');
});
client.on('message',message=>{
var bean=message.guild.emojis.find(emoji=>emoji.name=='bean');
//按公会id
如果(message.guild.id=='your guild id'){
if(bean){
if(message.content.startsWith(“”){
message.react(bean.id);
}
}
}

});我已对您的代码进行了更改

我希望它能帮助你

const Discord=require(“Discord.js”);
const client=new Discord.client();
client.on('ready',()=>{
console.log('ready');
});
client.on('message',message=>{
var bean=message.guild.emojis.find(emoji=>emoji.name=='bean');
//按公会id
如果(message.guild.id=='your guild id'){
if(bean){
if(message.content.startsWith(“”){
message.react(bean.id);
}
}
}

});如果像我这样的人在寻找答案时发现了这个问题,那么在v12中,您必须添加缓存,使其看起来像这样:

var bean = message.guild.emojis.cache.find(emoji => emoji.name == 'bean');
而不是:


var-bean=message.guild.emojis.find(emoji=>emoji.name=='bean')

如果像我这样的人在寻找答案时发现了这个问题,那么在v12中,您必须添加缓存,使其看起来像这样:

var bean = message.guild.emojis.cache.find(emoji => emoji.name == 'bean');
而不是:

var-bean=message.guild.emojis.find(emoji=>emoji.name=='bean')

请查看

v12引入了管理者的概念,您将不再能够在
客户机#用户
等数据结构上直接使用
收集#获取
等收集方法。在尝试使用收集方法之前,您现在必须直接请求管理器上的缓存。直接在管理器上调用的任何方法都将调用API,例如
GuildMemberManager#fetch
MessageManager#delete

在这种特定情况下,需要将缓存对象添加到表达式中:

var-bean=message.guild.emojis.cache?.find(emoji=>emoji.name==''bean');
请查看

v12引入了管理者的概念,您将不再能够在
客户机#用户
等数据结构上直接使用
收集#获取
等收集方法。在尝试使用收集方法之前,您现在必须直接请求管理器上的缓存。直接在管理器上调用的任何方法都将调用API,例如
GuildMemberManager#fetch
MessageManager#delete

在这种特定情况下,需要将缓存对象添加到表达式中:

var-bean=message.guild.emojis.cache?.find(emoji=>emoji.name==''bean');

从警告中,我想说您需要执行类似于
client.emojis.find(emoji=>emoji.name==“bean”)
。我从未使用过discord.js,所以我可能完全wrong@jonatjano所以我尝试了你在那里写的东西,错误似乎消失了,但它仍然在消失:/你可能需要在你的活动中设置它,我不认为这些集合是动态的,这意味着
bean
var不会在新值出现时获取它们,而是只保留警告中的初始值,我想说您需要执行类似
client.emojis.find(emoji=>emoji.name==“bean”)
。我从未使用过discord.js,所以我可能完全wrong@jonatjano所以我尝试了你在那里写的东西,错误似乎消失了,但它仍然在消失:/你可能需要在你的活动中设置它,我不认为这些集合是动态的,这意味着
bean
var不会在新值出现时获得新值,但只保留初始值正确,因此我使用了两个答案中的代码组合,它最终成功了,但似乎无法同时将正确答案授予两个人。但我把它奖励给你,因为你帮我修复了最初的错误,以防万一有人