Discord - 显示具有指定编号的成员加入位置

Posted

技术标签:

【中文标题】Discord - 显示具有指定编号的成员加入位置【英文标题】:Discord - showing member join position with specified number 【发布时间】:2020-06-28 03:33:48 【问题描述】:

我想告诉你我在参数中输入的用户数是加入服务器的顺序。喜欢 = 当我使用 .join 1 时,我想显示第一个成员加入服务器。我用

let arr = message.guild.members.filter(a => !a.user.bot).array().sort((b, a) => b.joinedTimestamp - a.joinedTimestamp) 
let map = arr.indexOf(sesmi) + 1

这个显示接合位置的命令,但我很困惑,我该怎么做?

【问题讨论】:

那么你遇到了什么问题? 【参考方案1】:

试试这个:

// if the first argument is not a number (this message is kind of bad so you can change it)
if (isNaN(args[0])) return message.reply('you must specify what number user you want to get!')

const members = message.guild.members.cache
  .filter(member => !member.user.bot)
  // sorted is a member on Discord's utility class Collection that doesn't modify the original collection
  .sorted((a, b) => a.joinedTimestamp - b.joinedTimestamp)
  .array()

// the number user to get
const n = Number(args[0])
// if there are not enough members
if (n > members.length) 
  // You only really need this if there is ever going to be only 1 member in the server
  // and if you care about grammar. You could also just do
  // return message.reply(`there are only $members.length members!`)
  const plural = members.length !== 1
  return message.reply(`there $plural ? 'are' : 'is' only $members.length member$plural ? 's' : ''!`)

message.channel.send(members[n - 1].user.tag)

我假设 args 将是一个字符串数组,其参数传递到命令中(例如,.join 1 将具有 args ['1']

【讨论】:

以上是关于Discord - 显示具有指定编号的成员加入位置的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 如何列出具有特定角色的所有成员的显示名称

Discord.js 获取所有具有特定角色的成员

在加入时向 Discord 成员添加角色

向新加入的 Discord 成员公开问候

如何使用 Discord.py Cogs 使 Discord Bot 加入语音频道并在成员加入频道时播放音频文件

如何为加入 Discord 公会的新成员自动分配角色?