Показать сообщение отдельно

  #4  
Старый 09.03.2024, 11:58
kiaostashi
Познающий
Регистрация: 27.04.2019
Сообщений: 45
С нами: 3709605

Репутация: 63
По умолчанию

С тем, что ты "создал бота" я бы, конечно, поспорил. Аналогичный код нашёл даже на хабре

Мало того, что переменная "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
(
'токен'
)


Дам тебе совет, не стоит при каждой ошибке бежать на форумы и ответники для того, чтобы тебе помогли. Изучай самостоятельно документацию, в ней даже примеры есть
 
Ответить с цитированием