Javascript 如何在Discord.js中按名称查找表情符号
因此,在过去的几天里,我一直感到非常沮丧,因为我无法在网上找到一个资源,来正确记录如何在用javascript编写discord机器人时找到表情。我一直在参考本指南,其有关表情符号的文档似乎要么是错误的,要么是过时的: 我需要的是简单;只需使用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”);
.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不会在新值出现时获得新值,但只保留初始值正确,因此我使用了两个答案中的代码组合,它最终成功了,但似乎无法同时将正确答案授予两个人。但我把它奖励给你,因为你帮我修复了最初的错误,以防万一有人