HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 07.03.2024, 22:50
Sako_Guttare
Новичок
Регистрация: 23.11.2023
Сообщений: 3
С нами: 1303179

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

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"
 
Ответить с цитированием

  #2  
Старый 07.03.2024, 23:26
nelit.dev
Познающий
Регистрация: 03.03.2024
Сообщений: 61
С нами: 1158033

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

Python:





Код:
role
=
disnake
.
utils
.
get
(
guild
.
roles
,
id
=
123456789012345678
)
 
Ответить с цитированием

  #3  
Старый 07.03.2024, 23:27
TastyBread123
Постоянный
Регистрация: 05.11.2021
Сообщений: 634
С нами: 2380746

Репутация: 68


По умолчанию

Role = await disnake.utils.get(member.guild.roles, id=1213403733183037440)
 
Ответить с цитированием

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


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





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.