Почему не работает meber_join disnake?

import disnake
import os
from disnake.ext import commands

class Welcome(commands.Cog):
  def __init__(self, bot):
    self.bot = bot

  @commands.Cog.listener()
  async def on_member_join(self, member):
    channel_age = self.bot.get_channel(1081301042140037282)
    role = await disnake.utils.get(guild_id=member.guild.id, role_id=1081480602408189992)
    embed = disnake.Embed(
      title=f"{member.name} добро пожаловать на сервер!",
      description=f"{member.guild.name} приветствует тебя!"
    ).set_thumbnail(url=member.avatar)
    await channel_age.send(embed=embed)
    await member.add_roles(role)


def setup(bot):
	bot.add_cog(Welcome(bot))


Ignoring exception in on_member_join
Traceback (most recent call last):
File "C:\bot\venv\lib\site-packages\disnake\client.py", line 705, in _run_event
await coro(*args, **kwargs)
File "c:\bot\cogs\welcome.py", line 12, in on_member_join
role = await disnake.utils.get(guild_id=member.guild.id, role_id=1081480602408189992)
TypeError: get() missing 1 required positional argument: 'iterable'
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Разберись уже, как работает utils.get().
Она принимает коллекцию объектов, и набор атрибутов в виде kwargs.
Возвращает первый объект в этой коллекции, у которого атрибуты совпадают с заданными.
Т.е. тебе надо туда передать список ролей сервера и атрибут id.
Ну или использовать другой метод, например, member.guild.get_role().

Читай документацию, короче.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы