如何删除特定用户名而非ID的某些消息


twitchClient.on('timeout', async (channel, username, user, reason, duration) => {
discordClient.on('message', async (message, messages) => {
async function deleteMessage() {
await discordClient.channels.cache.get("901568598538063932")
.messages.fetch({limit: null})
.then(message.delete(messages.first(user["display-name"]).author.name))
}
await deleteMessage()
})

async function sendMessage() {
const request = new XMLHttpRequest();
request.open("POST", "API url");

request.setRequestHeader('Content-type', 'application/json');
const users = { 
username: "User Timed Out",
avatar_url: 'https://i.imgur.com/GUrbNsB.jpg',
content: `**${username} has been timed out for ${duration} seconds.**`
}
request.send(JSON.stringify(users));
}
await sendMessage()
});

我有这个代码twitch聊天同步不和谐,我想做的事件超时在twitch上我想要它删除某一名称的消息上的频道是可能的,没有ID我失去了如何做到这一点,就像我可以删除最后的消息,但不是从一个特定的用户和我只有一个webhook,所以所有用户名的id将是相同的

TypeError: Cannot read properties of undefined (reading 'first')

注意:此代码适用于Discord.js v13.3.0


如错误所述,您正在尝试访问名为messages的未定义变量。这是因为您没有在then()参数中定义它,您立即转到回调。

then()是一个允许您提供参数添加的函数。您可以简单地将消息集合作为一个称为messages的变量并将其传递给相应的回调。

// DON'T do this
messages.fetch({limit: null})
.then(message.delete(messages.first(user["display-name"]).author.name))
// DO this
messages.fetch({limit: null})
.then((messages) => message.delete(messages.first(user["display-name"]).author.name))

相关内容

  • 没有找到相关文章