PDA

Просмотр полной версии : Ошибка SyntaxError: expected argument value expression


Sako_Guttare
07.03.2024, 22:50
SyntaxError: expected argument value expression:






import
disnake
from
disnake
.
ext
import
commands

bot
=
commands
.
Bot
(
command_prefix
=
"."
,
help_command
=
None
,
intents
=
disnake
.
Intents
.
all
(
)
)
@bot.event
async
def
on_ready
(
)
:
print
(
f"Bot{bot.user}is ready to work!"
)
@bot.event
async
def
on_member_join
(
member
)
:
Role
=
await
disnake
.
utils
.
get
(
guild_id
=
member
.
id
,
role_id
=
1213403733183037440
)
channel
=
bot
.
get_channel
(
1212842152699240489
)
#member.guild.system_channel
embed
=
disnake
.
Embed
(
title
=
"Новый участник!"
,
description
=
f"{member.name}"
)
bot
.
run
(
"MTIxNTMwNTU3OTcxNTc1NjA4Mw.GRsiB6.Fz4an5cIll-d3O8ML9_2FtVOV3V9GngK-sC3co"
)




Создал бота для дискорд в процессе cmd Выдаёт ошибку "SyntaxError: expected argument value expression"

nelit.dev
07.03.2024, 23:26
Python:






role
=
disnake
.
utils
.
get
(
guild
.
roles
,
id
=
123456789012345678
)

TastyBread123
07.03.2024, 23:27
Role = await disnake.utils.get(member.guild.roles, id=1213403733183037440)

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

Мало того, что переменная "Role" выдаст тебе ошибку, так она и вовсе не задействована - смысл тогда от неё?



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">
https://forum.antichat.xyz/attachments/28466644/img_9a291da9f9.png

Зачем присваивать айди юзера для айди гильдии? Зачем создавать ещё одну переменную и не использовать её?



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
(
'токен'
)




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