我正在使用Discord Giveaways模块。
我想知道当赠品结束后如何向赠品主持人发送私信。我还不知道该怎么做。
这是我所知道的:
manager.on('giveawayEnded', (giveaway, winners) => {
winners.forEach((member) => {
member.send('Congratulations, '+member.user.username+', you won: '+giveaway.prize);
});
});
上面的代码显示了如何向赠品获胜者发送私信,我在 the docs 中找到了该代码但没有关于如何与所有者私信的代码。
bot.giveawaysManager.giveaways.filter((g) => g.ended);
上面的代码展示了如何过滤结束的赠品
bot.giveawaysManager.start(message.channel, {
time: ms(giveawayDuration),
prize: giveawayPrize,
winnerCount: giveawayWinners,
hostedBy: message.author,
})
上面的代码展示了如何制作赠品。
最佳答案
您似乎收到了 giveaway
对象时giveawayEnded
被解雇了。如果它有 prize
属性,我很确定它还有一个 hostedBy
属性。
hostedBy
是一个“提及字符串”(例如 <@335657562220537971>
),您可以使用 .slice
从中获取用户的 ID ,然后获取用户。获取它们后,您可以简单地通过 DM 发送它们:
manager.on('giveawayEnded', async (giveaway, winners) => {
const hostID = giveaway.hostedBy.slice(2, -1);
const host = await client.users.fetch(hostID);
if (host) {
host.send('Giveaway ended');
}
winners.forEach((member) => {
member.send(
'Congratulations, ' +
member.user.username +
', you won: ' +
giveaway.prize,
);
});
});
关于javascript - 当赠品结束时如何向赠品主持人发送私信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66040535/