# Frequent questions

Before, check you are using the correct library (`discord-components` not `discord-buttons`) and if your library is in [the newest version](https://pypi.org/project/discord-components/).

## Select is not visible.

Selects are currently (2021.6.5) visible only for beta users so normal users can't see the component. But you can see selects on ephemeral messages!

## How to make buttons inline?

Your code must be something like&#x20;

```python
await <discord.abc.Messageable>.send(
    ...,
    components = [
        Button(...),
        Button(...),
        Button(...)
    ]
)
```

You should use a two-dimensional array like below to make buttons inline.

```python
await <discord.abc.Messageable>.send(
    ...,
    components = [
        [
            Button(...),
            Button(...),
            Button(...)
        ]
    ]
)
```

## How do I remove components?

Simple. Edit the message with parameter `components` set to `[]`.

```python
msg = await <discord.abc.Messageable>.send(
    ...,
    components = [
        Button(...),
        Button(...)
    ]
)
interaction = await <discord.ext.commands.Bot or discord.Client>.wait_for("button_click")

# First option
await msg.edit(components = [])
# Second option
await interaction.respond(
    type = 7,
    components = []
)
```

## How do I ignore the interaction?

Just respond with the type `6` with no other parameters.

## Handle all interactions

There is an event `on_button_click`. You can use this as normal events.

```python
@<discord.ext.commands.Bot or discord.Client>.event
async def on_button_click(interaction):
    if interaction.responded:
        return
    await interaction.respond(content = "Yay!")
```

## Using with cogs.

There is [an example using cogs](https://github.com/kiki7000/discord.py-components/blob/master/examples/example_cog.py) on GitHub.

## TypeError: send() got an unexpected keyword argument 'components'

Have you put `DiscordComponents(<discord.Client or discord.ext.commands.Bot>)` inside the `on_ready` event?

## Handle multiple clicks

You should put a while on `discord.Client.wait_for` to handle multiple clicks

```python
while True:
    interaction = await <discord.ext.commands.Bot or discord.Client>.wait_for("button_click")
    await interaction.respond(content = "Wow")
```

## Disabling the components for specific users

This is impossible but you can ignore the interaction by putting a check.

```python
interaction = await <discord.ext.commands.Bot or discord.Client>.wait_for(
    "button_click",
    check = lambda i: i.user.id == "something"
)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://devkiki7000.gitbook.io/discord-components/ko-kr/guide/frequent-questions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
