# InteractionHandler

`class` in `seedcord` · v0.14.0

<https://docs.seedcord.org/packages/seedcord/0.14.0/classes/interaction-handler>

Shared base the typed interaction handlers extend.

Not a public entry point. You should be using [`SlashHandler`](/packages/seedcord/0.14.0/classes/slash-handler), [`ButtonHandler`](/packages/seedcord/0.14.0/classes/button-handler), [`ModalHandler`](/packages/seedcord/0.14.0/classes/modal-handler), or [`SelectHandler`](/packages/seedcord/0.14.0/classes/select-handler) instead. This class only carries the repliable-event plumbing those bases share, so DO NOT use it directly.

```ts
abstract class InteractionHandler<Repliable extends Repliables>
    extends BaseHandler<Repliable>
    implements Handler
```

## Constructors

### constructor

```ts
InteractionHandler(event: Repliable, core: Core)
```

Constructs a new instance of the `InteractionHandler` class

## Properties

### core

```ts
readonly core: Core
```

### event

```ts
protected readonly event: ValidEvent
```

### logger

```ts
protected readonly logger: Logger
```

## Methods

### execute

```ts
abstract async execute(): Promise<void>
```

Holds the main logic of your handler. The dispatcher calls it after the handler's gates pass, so a gate that refuses stops `execute()` from running.
