Traceback (последний последний вызов):
Файл "C:\Users\Aaaaa\Desktop\boy\bot.py", строка 2, в
из disnake import Intents, модальный , TextInputStyle, Embed, ButtonStyle, ActionRow, Button, ui
ImportError: невозможно импортировать имя «Modal» из «disnake» (C:\Users\Aaaaa\AppData\Local\Programs\Python\Python312\Lib\site-packages\disnake_init_.py)
Я думаю Я написал код без ошибок, но он не дает мне загрузить необходимые модули из disnake. может кто-нибудь объяснить, в чем причина? вот код:
Traceback (последний последний вызов): Файл "C:\Users\Aaaaa\Desktop\boy\bot.py", строка 2, в из disnake import Intents, модальный , TextInputStyle, Embed, ButtonStyle, ActionRow, Button, ui ImportError: невозможно импортировать имя «Modal» из «disnake» (C:\Users\Aaaaa\AppData\Local\Programs\Python\Python312\Lib\site-packages\disnake_init_.py) Я думаю Я написал код без ошибок, но он не дает мне загрузить необходимые модули из disnake. может кто-нибудь объяснить, в чем причина? вот код: [code]import disnake from disnake import Intents, Modal, TextInputStyle, Embed, ButtonStyle, ActionRow, Button, ui from disnake.ext import commands
# Канал для отправки заявок APPLICATION_CHANNEL_ID = 1313915216211214476 # Замените на ID Вашего канала verification_message_id = None
# Эмбед с предложением о верификации @bot.event async def on_ready(): print(f'Мы вошли как {bot.user}') channel = bot.get_channel(APPLICATION_CHANNEL_ID) embed = Embed(title="Верификация", description="Пожалуйста, нажмите кнопку ниже для заполнения формы верификации.") global verification_message_id verification_message = await channel.send(embed=embed, components=[Button(label="Заполнить форму", style=ButtonStyle.green)]) verification_message_id = verification_message.id
user = interaction.user embed = Embed(title="Новая заявка", description="Заявка на верификацию") embed.add_field(name="Имя", value=username) embed.add_field(name="Возраст", value=age) embed.add_field(name="Цель прибывания", value=purpose) embed.add_field(name="ID пользователя", value=user.id) embed.add_field(name="Дата создания аккаунта", value=user.created_at.strftime("%Y-%m-%d %H:%M:%S")) embed.add_field(name="Дата присоединения к серверу", value=user.joined_at.strftime("%Y-%m-%d %H:%M:%S")) embed.set_thumbnail(url=user.avatar.url)
# Отправляем заявку в отдельный канал application_channel = bot.get_channel(APPLICATION_CHANNEL_ID) application_message = await application_channel.send(embed=embed, components=[ ActionRow( Button(label="Принять", style=ButtonStyle.green, custom_id="accept"), Button(label="Отклонить", style=ButtonStyle.red, custom_id="decline") ) ])
# Делаем так, чтобы пользователю отправлялось подтверждение await interaction.send("Ваша заявка была отправлена.", ephemeral=True)
# Обработка кнопок принятия и отклонения заявки @bot.component("accept") async def accept_button(interaction: disnake.MessageInteraction): role = disnake.utils.get(interaction.guild.roles, name="member") # Замените на название Вашей роли await interaction.user.add_roles(role) await interaction.send("Заявка принята. Вы получили роль 'member'.", ephemeral=True)