# ExposedApi.Internal.MessageHandler

[Embedding API Reference](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference) / [Modules](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules) / [exposed-api](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api) / [\<internal>](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_) / MessageHandler

## Class: MessageHandler

[exposed-api](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api).[\<internal>](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_).MessageHandler

### Table of contents

#### Constructors

* [constructor](#constructor)

#### Methods

* [sendMessage](#sendmessage)
* [setMessageExecution](#setmessageexecution)
* [setOutgoingMessageBus](#setoutgoingmessagebus)

### Constructors

#### constructor

• **new MessageHandler**(`side`, `incomingMessageBus`, `outgoingMessageBus`, `messageExecution`): [`MessageHandler`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.messagehandler)

**Parameters**

| Name                 | Type                                                                                                                                                                                                                                                        |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `side`               | [`CommunicationSide`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#communicationside)                                                                                                                                      |
| `incomingMessageBus` | [`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`IncomingMessageBus`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.incomingmessagebus)> |
| `outgoingMessageBus` | [`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`OutgoingMessageBus`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.outgoingmessagebus)> |
| `messageExecution`   | [`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`MessageExecution`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#messageexecution)>                                  |

**Returns**

[`MessageHandler`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.messagehandler)

### Methods

#### sendMessage

▸ **sendMessage**(`message`, `args?`): `Promise`<`any`>

**Parameters**

| Name      | Type     | Default value |
| --------- | -------- | ------------- |
| `message` | `string` | `undefined`   |
| `args`    | `any`\[] | `[]`          |

**Returns**

`Promise`<`any`>

***

#### setMessageExecution

▸ **setMessageExecution**(`fun`): `void`

**Parameters**

| Name  | Type                                                                                                                 |
| ----- | -------------------------------------------------------------------------------------------------------------------- |
| `fun` | [`MessageExecution`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#messageexecution) |

**Returns**

`void`

***

#### setOutgoingMessageBus

▸ **setOutgoingMessageBus**(`outgoingMessageBus`): `void`

**Parameters**

| Name                 | Type                                                                                                                                                  |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `outgoingMessageBus` | [`OutgoingMessageBus`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.outgoingmessagebus) |

**Returns**

`void`
