Поскольку client.users
хранит только кэшированных пользователей, вы не сможете получить их имя надежным способом оттуда.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ : Этот метод действительно неэффективен, но discord.js не был создан для такой работы. Если вы хотите сделать это проще, просто напишите Unknown user (client_id)
Если вы не можете получить имя пользователя из списка пользователей, вы можете попробовать использовать сообщения: используйте channel.fetchMessages()
на каждом канале вашей гильдии, пока не найдете сообщение, в котором message.author.id == your_id
, когда вы найдете его, вы можете получить имя пользователя с message.author.username
Есть и другое решение: self-bot . Помните, что этот метод не поддерживается самой компанией Discord и может привести к постоянному бану для учетной записи, которую вы используете .
С учетом вышесказанного, если вы используете автобота, вы можете использовать метод TextChannel.search()
, чтобы быстро найти сообщение с вашим идентификатором автора, а затем получить имя пользователя от автора.