# Subscriber

`class` in `gateway` · v0.4.1

<https://docs.seedcord.org/packages/gateway/0.4.1/classes/subscriber>

Base class for a gateway subscriber, binding `this.core` to the gateway [`Core`](/packages/gateway/0.4.1/interfaces/core).

```ts
abstract class Subscriber<
    KeyOfSubscribers extends SubscriptionKey
> extends Subscriber<KeyOfSubscribers, Core>
```

## Constructors

### constructor

```ts
Subscriber(data: AllSubscriptions[KeyOfSubscribers], core: TCore)
```

Instantiates the subscriber with event data and core.

## Properties

### core

```ts
protected readonly core: TCore
```

### data

```ts
protected readonly data: AllSubscriptions[KeyOfSubscribers]
```

### logger

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

## Methods

### execute

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

Executes the subscriber handler logic.
