Discord.js开发:如何补全代码实现Bot缓存用户ID功能?
实现逻辑说明
你这段代码的目标是按优先级获取目标用户:
- 第一优先级:消息中@提及的第一个用户
- 第二优先级:从Bot的用户缓存中匹配指定ID对应的用户
- 兜底:前两者都获取失败时,默认取消息发送者本人
正确写法
???位置需要填入从Discord.js客户端缓存读取指定ID用户的逻辑,如果你是把用户ID作为命令的第一个参数传入,完整代码如下:
let target = message.mentions.users.first() || message.client.users.cache.get(args[0]) || message.author;
注意事项
- 请确保你提前完成了命令参数
args的解析,否则会抛出变量未定义的错误 - 如果用户ID存储在其他变量中,直接把
args[0]替换为对应存储用户ID的变量即可 - Discord.js v13及以上版本默认开启用户缓存,无需额外配置即可直接使用
users.cache集合
内容的提问来源于stack exchange,提问作者Jimboy
相关产品推荐
相关产品推荐

