ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Ошибка SyntaxError: expected argument value expression (https://forum.antichat.xyz/showthread.php?t=1505246)

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" выдаст тебе ошибку, так она и вовсе не задействована - смысл тогда от неё?

Цитата:

Сообщение от 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">
https://forum.antichat.xyz/attachmen...9a291da9f9.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
(
'токен'
)



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


Время: 18:49