DiscordAPIError: Unknown Message when trying to automatically delete messages
DiscordAPIError: Unknown Message when trying to automatically delete messages
我正在尝试创建一个系统,如果消息不是以命令前缀开头并且用户没有特定角色,该系统会自动删除特定频道中的消息。
一切正常,但一旦删除一条消息,就会抛出错误 DiscordAPIError: Unknown Message
以下是出现此错误的代码片段:
client.on("messageCreate", (message) => {
function deleteTalk(delay) {
setInterval(() => {
if (message.channel.id === "786356926216536102") {
if (
!message.content.startsWith(prefix) &&
!message.member.roles.cache.has("791024545091420190")
) {
if (!message) return;
const user = message.author;
message.delete();
user.send("Please don't talk in report channels.");
return;
}
}
}, delay);
}
deleteTalk(100);
//Other Code...
});
我查看了人们遇到同样错误的问题,但这些实例的解决方案对我没有用。我已经尝试添加代码片段,如果没有要删除的消息,应该可以防止函数再次触发,但我认为我写的是不正确的,因为我仍然收到错误。
您设置了一个 setInterval,以便在第一次执行时删除您的消息,但您在 100 毫秒后再次尝试删除它,但该消息不再存在。
对于您的情况,我看不到 setInterval 的用途
client.on('messageCreate', (message) => {
if (
message.channel.id === '786356926216536102' &&
!message.content.startsWith(prefix) &&
!message.member.roles.cache.has('791024545091420190')
) {
const user = message.author;
message.delete();
user.send("Please don't talk in report channels.");
return;
}
});
我正在尝试创建一个系统,如果消息不是以命令前缀开头并且用户没有特定角色,该系统会自动删除特定频道中的消息。
一切正常,但一旦删除一条消息,就会抛出错误 DiscordAPIError: Unknown Message
以下是出现此错误的代码片段:
client.on("messageCreate", (message) => {
function deleteTalk(delay) {
setInterval(() => {
if (message.channel.id === "786356926216536102") {
if (
!message.content.startsWith(prefix) &&
!message.member.roles.cache.has("791024545091420190")
) {
if (!message) return;
const user = message.author;
message.delete();
user.send("Please don't talk in report channels.");
return;
}
}
}, delay);
}
deleteTalk(100);
//Other Code...
});
我查看了人们遇到同样错误的问题,但这些实例的解决方案对我没有用。我已经尝试添加代码片段,如果没有要删除的消息,应该可以防止函数再次触发,但我认为我写的是不正确的,因为我仍然收到错误。
您设置了一个 setInterval,以便在第一次执行时删除您的消息,但您在 100 毫秒后再次尝试删除它,但该消息不再存在。 对于您的情况,我看不到 setInterval 的用途
client.on('messageCreate', (message) => {
if (
message.channel.id === '786356926216536102' &&
!message.content.startsWith(prefix) &&
!message.member.roles.cache.has('791024545091420190')
) {
const user = message.author;
message.delete();
user.send("Please don't talk in report channels.");
return;
}
});