С тем, что ты "создал бота" я бы, конечно, поспорил. Аналогичный код нашёл даже на хабре
Мало того, что переменная "Role" выдаст тебе ошибку, так она и вовсе не задействована - смысл тогда от неё?
Сообщение от
Sako_Guttare
Role = await disnake.utils.get(guild_id=member.id, role_id=1213403733183037440)
Если хочешь получить роль с сервера, то нужно использовать:
role:
Код:
role
=
disnake
.
utils
.
get
(
member
.
guild
.
roles
,
id
=
int
(
role_id
)
)
role_id нужно ЗАМЕНИТЬ на айди роли с сервера, а не как тут1709969052288.pngkiaostashi · 9 Мар 2024 в 10:58' data-fancybox="lb-post-1466644" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/234041/" style="cursor: pointer;" title="1709969052288.png">
Зачем присваивать айди юзера для айди гильдии? Зачем создавать ещё одну переменную и не использовать её?
Сообщение от
Sako_Guttare
channel = bot.get_channel(1212842152699240489)#member.guild. system_channel
channel:
Код:
channel
=
disnake
.
utils
.
get
(
member
.
guild
.
channels
,
id
=
int
(
channel_id
)
)
Ну и главный вопрос: зачем пытаться написать бота, если в документацию залезть не можешь? Да и в питоне, судя по фотке выше, не разбираешься.
Вот тебе готовый код для выдачи роли при присоединении юзера:
Python:
Код:
import
disnake
from
disnake
.
ext
import
commands
bot
=
commands
.
Bot
(
)
@bot.event
async
def
on_member_join
(
member
)
:
role
=
disnake
.
utils
.
get
(
member
.
guild
.
roles
,
id
=
int
(
сюда вставишь айди роли
)
)
channel
=
disnake
.
utils
.
get
(
member
.
guild
.
channels
,
id
=
int
(
сюда айди канала
)
)
if
role
and
channel
:
embed
=
disnake
.
Embed
(
title
=
'Новый участник'
,
description
=
f'{member.name}'
)
await
member
.
add_roles
(
role
)
await
channel
.
send
(
embed
=
embed
)
bot
.
run
(
'токен'
)
Дам тебе совет, не стоит при каждой ошибке бежать на форумы и ответники для того, чтобы тебе помогли. Изучай самостоятельно документацию, в ней даже примеры есть