Задать вопрос
@hun009

Почему Не запускается dropdown на disnake, и как исправить?

Не понимаю, из-за чего выдает постоянные ошибки касаемо этого кода, лез в документации и форумы, что не делал не вылезает окно DropDown.

import disnake
from disnake.ext import commands

bot = commands.Bot(command_prefix= "!", help_command=None, intents=disnake.Intents.all())  # Команда, для команд "!"

class DropDownView(disnake.ui.Select):
	def __unit__(self):
		options = [
			disnake.SelectOption(label="Official", description= "Непонятно"),
			disnake.SelectOption(label="Semi-Classic", description= "Нормас"),
			disnake.SelectOption(label="Moded", description= "Сомнительно")]
		super().__unit__(placeholder="select a game", options=options, min_values=1, max_values=1)

	async def callback(self, interaction: disnake.MessageInteraction):
		await interaction.response.send_message(f"Вы выбрали {self.values[0]}")

	@bot.command()
	async def wp(ctx):
		view = disnake.ui.View()
		view.add_item(DropDownView())
		await ctx.send("На каком сервере хотите играть?", view=DropDownView)


@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.guild.id, role_id=1141451849476624384) #Роль рандомуса, на мышином, которая выдаётся при входе
	channel = member.guild.system_channel

	embed = disnake.Embed(                     # Это сообщение, которое пишется, когда зашёл челик
		title="Салем, мыш",
		description=f"{member.name}",                 
		color=0xffffff
		)

	await member.addroles(role)
	await channel.send(embed=embed)

@bot.command( pass_context = True )

async def help( ctx ):      # Отправка сообщения на команду хелп
	await ctx.send("Fuck u, only satan can help u!") 


bot.run("") # Токен бота
  • Вопрос задан
  • 46 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Внутри класса первым аргументом всегда идет self - ссылка на объект класса (или cls для методов класса), так что ваше async def wp(ctx) получает не то, что вы ожидаете.

Не смешивайте теплое с мягким, определите команду отдельно. Вот официальный пример
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы