如何获得特定的不和谐角色的名称?

时间:2019-11-11 14:52:28

标签: javascript node.js datetime discord discord.js

我正在尝试与许多国际用户一起为我的服务器制作一个机器人。我们始终遇到的一个问题是协调时间,因为它们遍布世界各地。我希望该机器人能够告诉您特定用户的时间。我已经让我所有的用户都有一个角色,其格式为“ UTC [-10至+14]”,其中指明了他们所在的时区。我已经具有以下功能:当您给它提供UTC偏移量时,它将给您那里的时间。我的问题是,如何获得某人的名字的UTC偏移量。 例如,我有一个角色@User1#0000的用户UTC-05。他们还可能具有其他角色(不是时区角色)。我该如何-05从刚刚给定名字的某人角色中消失?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

首先,要获得成员的角色,只需使用roles属性member,现在要获得时区角色,可以使用{{ 3}}并在角色名称的开头查找“ UTC”

.find

现在,更难的部分是解析角色名称以获取其偏移量,我们可以使用正则表达式和match函数来做到这一点,我们想隔离+14,用于隔离它的正则表达式将是{ {1}},因此将其添加到我们的sudo代码中,

let utcRole = member.roles.find(role => role.name.startsWith('UTC'))

然后我们去!您将拥有所需的偏移量,现在要记住的一件事是将偏移量作为字符串,并且按照您所说的将其用作数字,以便在javascript中将字符串转换为数字,我们使用{{ 1}},因此将其转换为数字,

[\+\-][0-9]*[^\[\]]