본문 바로가기

discord

디스코드 봇 [discord.py 2.0] select

반응형

버튼에 이어 select를 추가해봅시다.

 

 

 

select.py 파일 생성 후 코드 작성

from discord import Interaction, SelectOption, app_commands, Object
from discord.ext import commands
from discord.ui import View, Select


class select(commands.Cog):
    def __init__(self, bot: commands.Bot) -> None:
        self.bot = bot

    @app_commands.command(name="메뉴")
    async def select(self, interaction: Interaction) -> None:
        selects = Select(options=[
            SelectOption(
                label="1번",
                description="1번"
            ),
            SelectOption(
                label="2번",
                description="2번"
            )
        ])

        async def select_callback(interaction: interaction) -> None:
            await interaction.response.send_message(f"{selects.values}를 선택하셨습니다.")

        selects.callback = select_callback
        view = View()
        view.add_item(selects)
        await interaction.response.send_message("메뉴를 선택해주세요.", view=view)


async def setup(bot: commands.Bot) -> None:
    await bot.add_cog(
        select(bot),
        guilds=[Object(id=)]
    )

버튼이랑 똑같이 main.py에 추가한 파일 인식하게 작성

self.initial_extension = [
            "Cogs.hello",
            "Cogs.button",
            "Cogs.select"
        ]

작성이 끝났으니 봇 실행해서 테스트.

끝.

반응형

'discord' 카테고리의 다른 글

디스코드 봇 [discord.py 2.0] prefix  (0) 2022.06.06
디스코드 봇[discord.py 2.0] 버튼  (0) 2022.06.06
디스코드 봇 [discord.py 2.0] 기본  (0) 2022.06.06