Discord.py | Как мне получить тег пользователя из идентификатора?

#discord.py

Вопрос:

Я программирую развлекательного бота с discord.py, и я хочу закодировать функцию, которая позволит вам просматривать игровые деньги других пользователей и прочее с помощью баз данных replit. Поскольку создание данных с помощью пользовательского тега неэффективно, поскольку люди постоянно меняют свои имена пользователей и теги, я использую идентификаторы. Я пытаюсь найти способ получить пользовательский тег (например. Чувак#1234) с идентификатора номера пользователя (например, 871954599731396648). Я не мог найти решение. Я уже знаю, как использовать ctx.message.author.id но я не могу найти способ заставить это работать с каждым пользователем discord.

Ответ №1:

Чтобы получить тег, вы можете использовать следующий метод

 user = await bot.fetch_user(ID) # ID must be an int and this could be could be client for you, be careful as this pings the API and can be abused if not correctly limited.

# user.discriminator will return their tag. 
 

Вы можете проверить все атрибуты, которые user могут быть здесь

Ответ №2:

Чтобы получить тег, сначала необходимо получить объект пользователя из идентификатора с помощью discord.utils.get :

 user_id = #insert the id of the user which you want the tag of
user = await discord.utils.get(client.get_all_members(), id =user_id)#might by something like bot.get_all_members for you
tag = user.name