import disnake
from disnake.ext import commands
class Dropdown(disnake.ui.StringSelect):
def __init__(self):
options = [
disnake.SelectOption(label="Команды администрации", value="staff", description="Команды для модераторов и администрации.", emoji=""),
disnake.SelectOption(label="Команды экономики", value="eco", description="Экономические команды.", emoji="<:cristall:1096788943770501141>"),
disnake.SelectOption(label="Команды развлечений", value="fun", description="Команды для веселья.", emoji=""),
disnake.SelectOption(label="Утилиты", value="utilits", description="Команда утилит.", emoji=""),
]
super().__init__(
placeholder="Categories",
min_values=0,
max_values=1,
options=options
)
async def callback(self, inter: disnake.MessageInteraction):
if self.values[0] == "staff":
emb = disnake.Embed(
title = f" Команды администрации.",
description = f"`v!ban`\n`v!unban`\n`v!kick`\n`v!mute`\n`v!unmute`",
color = 0x5a00b3
)
if self.values[0] == "eco":
emb = disnake.Embed(
title = f"<:cristall:1096788943770501141> Команды экономики.",
description = f"**Команды с особыми правами:**\n`v!award`\n`v!take`\n`v!add-shop`\n`v!remove-shop`\n\n**Общедоступные команды:**\n`v!balance`\n`v!shop`\n`v!buy`\n`v!reputation`\n`v!unreputation`",
color = 0x5a00b3
)
if self.values[0] == "utilits":
emb = disnake.Embed(
title = f" Утилиты.",
description = f"`v!help`\n`v!leaderboard`",
color = 0x5a00b3
)
await inter.response.edit_message(view = DropdownView())
await inter.followup.send(embed = emb)
class DropdownView(disnake.ui.View):
def __init__(self):
super().__init__(timeout = 5.0)
self.add_item(Dropdown())
class Hi(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def help(self, ctx):
await ctx.send(f"Выберите категорию команд:", view=DropdownView())
@commands.Cog.listener()
async def on_ready(self):
print(f"Модуль {self.__class__.__name__} загружен...")
def setup(bot):
bot.add_cog(Hi(bot))
import disnake
from disnake.ext import commands
class Dropdown(disnake.ui.View):
options = [
disnake.SelectOption(label="Команды администрации", value="staff", description="Команды для модераторов и администрации.", emoji=""),
disnake.SelectOption(label="Команды экономики", value="eco", description="Экономические команды.", emoji="<:cristall:1096788943770501141>"),
disnake.SelectOption(label="Команды развлечений", value="fun", description="Команды для веселья.", emoji=""),
disnake.SelectOption(label="Утилиты", value="utilits", description="Командs утилит.", emoji=""),
]
@disnake.ui.select(
placeholder="Categories",
min_values=0,
max_values=1,
options=options
)
async def callback(self, select, interaction):
for child in self.children:
if select.values[0] == "staff":
child.disabled = True
emb = disnake.Embed(
title = f" Команды администрации.",
description = f"`v!ban`\n`v!unban`\n`v!kick`\n`v!mute`\n`v!unmute`",
color = 0x5a00b3
)
if select.values[0] == "eco":
child.disabled = True
emb = disnake.Embed(
title = f"<:cristall:1096788943770501141> Команды экономики.",
description = f"**Команды с особыми правами:**\n`v!award`\n`v!take`\n`v!add-shop`\n`v!remove-shop`\n\n**Общедоступные команды:**\n`v!balance`\n`v!shop`\n`v!buy`\n`v!reputation`\n`v!unreputation`",
color = 0x5a00b3
)
if select.values[0] == "utilits":
child.disabled = True
emb = disnake.Embed(
title = f" Утилиты.",
description = f"`v!help`\n`v!leaderboard`",
color = 0x5a00b3
)
await interaction.response.edit_message(view = self, embed = emb)
class Hi(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def help(self, ctx):
await ctx.send(f"Выберите категорию команд:", view=Dropdown())
@commands.Cog.listener()
async def on_ready(self):
print(f"Модуль {self.__class__.__name__} загружен...")
def setup(bot):
bot.add_cog(Hi(bot))