Получить пользователя по id discord py

Как выполнить 2 пункт я знаю, но как реализовать 1 пункт понять не могу. И да, я чайник :/
Заранее спасибо за помощь.
P.S Да, я изучал документ по Discord.Py , но я не нашёл ничего нужного

Функция получает объект класса discord.Member. Открываем discord.Member
https://discordpy.readthedocs.io/en/stable/api.htm…
Смотрим аттрибуты, видим id

Комментировать

Ответы на вопрос 0

Похожие записи:

  1. Многопоточный обратный вызов C ++, может отменить регистрацию
  2. Весь Discord-бот
  3. Программы не могут получить доступ к файлам, которые имеют к ним отношение — WINDOWS 10 [closed]
  4. Бот Python Discord
  5. Как объединить массовые данные с помощью EF [closed]

Источник: thefaq.ru

Получение имени пользователя по его ID (discord python)

Этот код должен на команду !getuser [ID] отправить никнейм пользователя, чей айди указан. Но вместо этого появляется ошибка в консоли:

Discord.py Bot Tutorial — Showing User Warns (Episode #27.2) | MenuDocs


Ignoring exception in command getuser: Traceback (most recent call last): File «/data/data/com.termux/files/usr/lib/python3.9/site-packages/discord/ext/commands/core.py», line 85, in wrapped ret = await coro(*args, **kwargs) File «/storage/emulated/0/z_japan_bot/give2.py», line 103, in getuser user = bot.get_user(userid).name AttributeError: ‘NoneType’ object has no attribute ‘name’ The above exception was the direct cause of the following exception: Traceback (most recent call last): File «/data/data/com.termux/files/usr/lib/python3.9/site-packages/discord/ext/commands/bot.py», line 902, in invoke await ctx.command.invoke(ctx) File «/data/data/com.termux/files/usr/lib/python3.9/site-packages/discord/ext/commands/core.py», line 864, in invoke await injected(*ctx.args, **ctx.kwargs) File «/data/data/com.termux/files/usr/lib/python3.9/site-packages/discord/ext/commands/core.py», line 94, in wrapped raise CommandInvokeError(exc) from exc discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: ‘NoneType’ object has no attribute ‘name’

Еще по теме:  Что значит nsfw в дискорде

Помогите исправить пожалуйста.

Источник: husl.ru

Блог

Как получить всех участников с моего сервера discord py

  • Post author: admin
  • Запись опубликована: 18 января, 2022
  • Post category: Вопросы по программированию

#python #python-3.x #python-2.7 #discord #discord.py

Вопрос:

Я хочу получить всех участников моего сервера, но когда я Погуглил его, я просто обнаружил, что этот фрагмент кода будет делать это:

for guild in client.guilds: for member in guild.members: print(member)

Ну, этот код должен отображать всех участников, проблема в том, что он отображает только моего пользователя бота. Но когда я ставлю это так:

DM Users via your Discord Bot in Python! — Part 12 (Tutorial)(2021)

он отображает информацию внутри этого объекта [ ] , и я не буду показывать ее точно, потому что внутри этого объекта есть информация о моей учетной записи и сервере discord, так как я могу изменить этот код, чтобы он показывал мне количество участников или имена участников?

Ответ №1:

Печать guild.member возвращает discord.Member объект, внутри которого содержится много информации. Вот способы, которые вы хотели бы выбрать:

Получение количества участников:

for guild in client.guilds: print(len(guild.members))

Получение имен участников:

for guild in client.guilds: for member in guild.members: print(member.name)

Также я бы предложил сократить время цикла, чтобы избежать ограничения скорости.

1. Здравствуйте, ваш код дает мне тот же результат, у меня на сервере 3 пользователя, я, мой бот и друг, но мой бот учитывает только себя, он не учитывает моего пользователя и моего друга и не отображает имя, результат для первого кода вашего ответа равен 1, и должно быть 3, потому что у меня на сервере 3 пользователя, включая бота, и второй код в вашем ответе, он отображает имя пользователя моего кода, а не отображает мое и моего друга, почему это происходит?

2. Похоже, вы не включили намерения для своего бота, прочитайте это руководство о том, как их включить: discordpy.readthedocs.io/en/latest/intents.html

3. Это не было включено, но я включил его, и даже если я пытаюсь отобразить имя пользователя, оно отображает только имя пользователя моего собственного бота, а не всех участников, как я могу это исправить?

4.

Вы также включили код и портал разработчиков? Вам нужно добавить client.intents = discord.Intents.all() при объявлении commands.Bot , а затем включить на портале разработчиков.

5. client = commands.Bot(intents = discord.Intents.all(), **kwargs)

Ответ №2:

как количество членов находится внутри объекта [ ] как я указывал в вопросе, я получил доступ к свойству этого объекта, а затем мне удалось получить все члены, это был код:

Еще по теме:  Как прочитать переписку в дискорде чужую

for guild in client.guilds: print(guild.member_count)

Ответ №3:

Ваш метод верен, а именно:

for guild in client.guilds: print(guild.member_count)

Но, как вы можете видеть здесь, в документах

Из-за ограничения разногласий для того, чтобы этот атрибут оставался актуальным и точным, он требует указания Intents.members.

Поэтому необходимо включить намерения участников в коде и включить привилегированные намерения на портале разработчика

intents = discord.Intents.default() intents.members = True #or intents = discord.Intents.all() client = commands.Bot(command_prefix=’!’, intents=intents)

Намерения участников используются для следующего: ссылка

Это соответствует следующим событиям:

  • on_member_join()
  • on_member_remove()
  • on_member_update() (ник, роли)
  • on_user_update()
  • Клиент.get_all_members()
  • Гильдия.кусок()
  • Гильдия.fetch_members()
  • Гильдия.get_member()
  • Гильдия.члены
  • Участник.роли
  • Член.ник
  • Участник.premium_since
  • User.name
  • Пользователь.аватар (User.avatar_url и User.avatar_url_as())
  • Пользователь.дискриминатор

Источник: programbox.ru

Рейтинг
( Пока оценок нет )
Загрузка ...