Почему не работает class guild в python discord api?

Короче, пишу бота на python для сервера discord. При чтении документации к api дискорда (https://discordpy.readthedocs.io/en/latest/api.htm...) обнаружил class Guild который используется для работы с сервером напрямую(создание каналов, ролей, получение имен и тд).

Если коротко, то я просто не могу найти информацию о том, как его использовать. Он не инициализируется имортом, а простой вызов
@Bot.event
async def on_ready():
	print('Bot is online')
	print(Guild.name)
выдаёт ошибку по имени.

Я перепробовал огромное кол-во способов и единственный результат -
@Bot.event
async def on_ready():
	print('Bot is online')
	print(discord.Guild.name)
выдаёт мне - member 'name' of 'Guild' objects

В общем, если у кого то есть ссылки на видео, статьи или просто уже сам писал бота для дс... Буду благодарен.
  • Вопрос задан
  • 554 просмотра
Решения вопроса 1
yuzoru
@yuzoru
Guild дочерний класс мембер, и в своём существовании, когда пишешь member.guild , ты обращаешься к серверу, на котором находится данный мембер(или на сервер, где было произведённо обращение к эвенту), а из него ты можешь извлекать роли сервера и тп, относительно этого будь осторожен с документацией, после 1.0 версии дискорд внёс масштабные изменения в архитектуре апи. То что ты желаешь сделать надо реализовать иначе, а именно bot.user.name, где бот есть discord.Client() (или как там его) или же commands.Bot().

Пример инициализации:

bot = commands.Bot(command_prefix='.')

@bot.event
async def on_ready():
    print('Logged in as')
    print(bot.user.name)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы