Javascript discord.js获取消息';s id并将其删除
当用户加入服务器时,bot会发送一条欢迎消息,我想获取该欢迎消息的ID,如果用户加入后离开,bot会将其删除。我试图将消息的id保存在一个变量中,并让bot在用户离开时删除消息,但没有成功。我已经看过文档了,但我真的不知道如何制作。要做到这一点,您必须存储欢迎消息的id以及它所绑定的用户(理想情况下将其放在一个对象中)。当用户离开时,您将使用这些值删除该消息 示例代码:Javascript discord.js获取消息';s id并将其删除,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,当用户加入服务器时,bot会发送一条欢迎消息,我想获取该欢迎消息的ID,如果用户加入后离开,bot会将其删除。我试图将消息的id保存在一个变量中,并让bot在用户离开时删除消息,但没有成功。我已经看过文档了,但我真的不知道如何制作。要做到这一点,您必须存储欢迎消息的id以及它所绑定的用户(理想情况下将其放在一个对象中)。当用户离开时,您将使用这些值删除该消息 示例代码: const Discord = require('discord.js'); const client = new Disco
const Discord = require('discord.js');
const client = new Discord.Client();
const welcomeChannel = client.channels.find("name","welcome"); // Welcome is just an example
let welcomes = [];
client.on('message', (message) => {
if(message.channel.name === 'welcome') {
const welcomeObj = { id: message.id, user: message.mentions.users.first().username };
welcomes.push(welcomeObj);
}
});
client.on('guildMemberRemove', (member) => {
welcomes.forEach(welcome, () => {
if(welcome.user === member.user.username) {
welcomeChannel.fetchMessage(welcome.id).delete();
}
});
});
这仅在欢迎消息中包含对用户的提及时有效,因此请确保这是在欢迎消息中
此外,我目前无法亲自测试此代码,因此如果您遇到任何问题,请告诉我。要执行此操作,您必须存储欢迎消息的id及其绑定的用户(理想情况下,将其放入对象中)。当用户离开时,您将使用这些值删除该消息 示例代码:
const Discord = require('discord.js');
const client = new Discord.Client();
const welcomeChannel = client.channels.find("name","welcome"); // Welcome is just an example
let welcomes = [];
client.on('message', (message) => {
if(message.channel.name === 'welcome') {
const welcomeObj = { id: message.id, user: message.mentions.users.first().username };
welcomes.push(welcomeObj);
}
});
client.on('guildMemberRemove', (member) => {
welcomes.forEach(welcome, () => {
if(welcome.user === member.user.username) {
welcomeChannel.fetchMessage(welcome.id).delete();
}
});
});
这仅在欢迎消息中包含对用户的提及时有效,因此请确保这是在欢迎消息中
此外,我目前无法亲自测试此代码,因此如果遇到任何问题,请告诉我
- 发送您的欢迎信息
- 将消息的ID与对象内部的帮会内的用户配对
- 去拿他们的欢迎信
- 从Discord和对象中删除消息
constWelcomeMessages={};
client.on('guildMemberAdd',异步成员=>{
const welcomeChannel=client.channels.get('channelIDHere');
如果(!welcomeChannel)返回console.error('无法找到欢迎频道');
试一试{
const message=wait welcomeChannel.send(`Welcome,${member}.`);
如果(!welcomeMessages[member.guild.id])welcomeMessages[member.guild.id]={};
welcomeMessages[member.guild.id][member.id]=message.id;
}捕捉(错误){
console.error('发送欢迎消息时出错…\n',err);
}
});
client.on('guildMemberRemove',异步成员=>{
const welcomeChannel=client.channels.get('channelIDHere');
如果(!welcomeChannel)返回console.error('无法找到欢迎频道');
试一试{
const message=wait welcomeChannel.fetchMessage(welcomeMessages[member.guild.id][member.id]);
如果(!消息)返回;
等待消息。删除();
删除welcomeMessages[member.guild.id][member.id];
}捕捉(错误){
console.error('删除现有欢迎邮件时出错…\n',err);
}
});
- 发送您的欢迎信息
- 将消息的ID与对象内部的帮会内的用户配对
- 去拿他们的欢迎信
- 从Discord和对象中删除消息
constWelcomeMessages={};
client.on('guildMemberAdd',异步成员=>{
const welcomeChannel=client.channels.get('channelIDHere');
如果(!welcomeChannel)返回console.error('无法找到欢迎频道');
试一试{
const message=wait welcomeChannel.send(`Welcome,${member}.`);
如果(!welcomeMessages[member.guild.id])welcomeMessages[member.guild.id]={};
welcomeMessages[member.guild.id][member.id]=message.id;
}捕捉(错误){
console.error('发送欢迎消息时出错…\n',err);
}
});
client.on('guildMemberRemove',异步成员=>{
const welcomeChannel=client.channels.get('channelIDHere');
如果(!welcomeChannel)返回console.error('无法找到欢迎频道');
试一试{
const message=wait welcomeChannel.fetchMessage(welcomeMessages[member.guild.id][member.id]);
如果(!消息)返回;
等待消息。删除();
删除welcomeMessages[member.guild.id][member.id];
}捕捉(错误){
console.error('删除现有欢迎邮件时出错…\n',err);
}
});
您能否发布您编写的未成功代码?向其他人提供一些上下文是很有帮助的,特别是如果它包含了一种复制您已经尝试过的内容的方法。查看这篇关于如何提出一个好问题的堆栈溢出文章。我丢失了我尝试的代码,无论如何,这是错误的,我尝试将消息获取到一个变量,然后获取该变量id并删除mesagge。我可以问一个很好的问题,你可以在我的个人资料上看到其他的问题,但是在这场追逐中我真的不知道如何开始。你能把你写的代码贴出来吗?它没有成功?向其他人提供一些上下文是很有帮助的,特别是如果它包含了一种复制您已经尝试过的内容的方法。查看这篇关于如何提出一个好问题的堆栈溢出文章。我丢失了我尝试的代码,无论如何,这是错误的,我尝试将消息获取到一个变量,然后获取该变量id并删除mesagge。我问一个好问题没有问题,你可以在我的个人资料上看到其他人,但在这场追逐中,我真的不知道如何开始。