【问题标题】:How can I add role to user for specified time?如何在指定时间为用户添加角色?
【发布时间】:2020-11-20 04:48:17
【问题描述】:

如何在指定时间为用户添加角色? 例如:用户获取角色并在 24 小时后 bot 从用户中删除此角色。

【问题讨论】:

  • 向用户添加角色时,保存 unix 时间戳。将 24 小时添加到 unix 时间戳。保存由 discord.Member(公会 + 用户 ID)唯一标识的值(在 json 文件、数据库中,...)。编写一个定期迭代的循环。当当前 unixtimestamp 超过保存的时间戳时,生成 discord.Member 对象并移除角色。

标签: discord discord.js


【解决方案1】:
// <member> is a placeholder for a GuildMember object. 
// See link below to find the difference between user object and guildmember object.
// You can get a member with guild.fetchMember(), 
// Or with guild.member() if the member is already cached.

<member>.roles.add(role); // GuildMember .add() method (add role to member)

setTimeout(() => { // evaluates expression after x number of miliseconds

<member>.roles.remove(role) // function to evaluate (GuildMember .remove() method)
// do something else maybe

}, 86400000) // 24 hours in ms

GuildMember Info

guild.FetchMember() Method

guild.member() Method

GuildMember .add() and .remove() Method Docs

setTimeout() Method

【讨论】:

  • 添加一些上下文和解释以及代码,这将是完整的并有助于社区。​​span>
  • @ArunVinoth 对此感到抱歉,我真的是 StackOverflow 的新手?。我编辑了我的答案,希望现在更清楚了?
猜你喜欢
  • 2018-09-25
  • 2018-04-18
  • 2014-04-30
  • 2014-07-16
  • 1970-01-01
  • 2022-01-18
  • 2019-08-11
  • 1970-01-01
  • 2016-09-24
相关资源
最近更新 更多