discord.js - 当用户不是字符串时如何修复 {user.username}?
问题描述
我实际上正在编写一个 Js Discord Bot,并且正在创建一个 XP 系统。
我希望我的机器人在&level
输入时给出作者的级别,并且它可以工作。
但是如果我这样做&level @DiscordUser
了,我可以获得这个 Discord 用户的用户 ID,除非我在这样的嵌入中使用它:
const embed = {
"title": "Fiche Niveau d'Exagide",
"description": 'Utilisateur : **' + `${userid.username}` + "**",
"color": 10384204
}
在这种情况下,它返回:Utilisateur : undefined
userid
是将 Mention 转换为 ID 的函数的 const get
例如,它<@549317568339640336>
变成549317568339640336
function getUserFromMention(mention) {
if (!mention) return;
if (mention.startsWith('<@') && mention.endsWith('>')) {
mention = mention.slice(2, -1);
if (mention.startsWith('!')) {
mention = mention.slice(1);
}
return mention;
}}
我只是希望嵌入返回Utilisateur : Discord User
如果@Discord User
被提及。
解决方案
只需简单地使用以下内容来获取提到用户的用户对象:
message.mentions.users.first()
或提及用户的成员对象:
message.mentions.members.first()
推荐阅读
- spring - 如何从 Spring Integration int-http:outbound-gateway 中的 byte[] 消息中获取有效负载值?
- javascript - 带有数组数据的 vue 状态转换
- git - 如何将 go.mod 中的 Go 模块依赖项指向 repo 中的最新提交?
- html - 悬停的链接样式
- ms-access - Ms Access中Double类型的空白字段是否占用空间
- javascript - JavaScript 正则表达式接受 00.01 到 999.99999 之间的值
- python - 如果刻度标签被修改,Matplotlib 不会显示读数
- kubernetes - 在 kubernates 中组织 pod 的最佳实践
- angularjs - 离子/角度提供者/服务 - 单例 - 单实例?
- electron - Electron 应用程序仅在后台运行且不显示