# 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"
)
```
