Discord.js如何进行名称更改历史记录命令

时间:2019-05-14 17:02:45

标签: javascript discord discord.js

我想编写一个代码来显示您的姓名更改历史记录,例如NotSoBot

enter image description here

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

这些漫游器使用自己的数据库。 Discord不记录这些更改。您不能仅使用discord.js执行此操作。唯一的问题是,如果您的漫游器不是很大,它将不会非常有效,因为您的漫游器无法访问更改用户名的每个用户。并且,如果您的漫游器处于脱机状态,或者您的漫游器开始记录这些更改之前的任何用户名,都无法跟踪。

如果仍然要执行此操作,请使用数据库和discord.js事件userUpdate并记录所有用户名。请注意,即使用户的头像已更改或有区别,此事件也会触发。

答案 1 :(得分:0)

如果您打算使用审核日志来获取所有名称更改-我建议您做一些Documentation研究。

我不会为您提供所需的完整代码,而是您自己解决该问题的垫脚石。

您要做的是获取审核日志,并根据命令中实现的给定参数指定选项。 (即您要搜索的用户。)

检索名称更改的简单方法:

message.guild.fetchAuditLogs({type: 'MEMBER_UPDATE', user: 'DESIRED USER ID'}).then(async (audit) => {
        let log = audit.entries.first().changes
        console.log(log)
    })

输出:

[ { key: 'nick', old: , new: } ]

Key就像昵称一样,是您要寻找的。 Old是旧的昵称。 New是新的昵称。

这应该为您指明正确的方向,因为其余的步骤不太复杂。