> For the complete documentation index, see [llms.txt](https://painor.gitbook.io/gramjs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://painor.gitbook.io/gramjs/getting-started/updates-events.md).

# Updates (events)

## Defining events

Currently, there are only two types of `events`: Raw updates and NewMessage(more will come soon).&#x20;

Defining an event is a fairly straightforward

For raw updates you can do this :

{% tabs %}
{% tab title="TypeScript" %}
{% code title="updates.ts" %}

```typescript
 client.addEventHandler((update: Api.TypeUpdate) => {
    console.log("Received new Update")
    console.log(update);
});

```

{% endcode %}
{% endtab %}

{% tab title="JavaScript" %}
{% code title="updates.js" %}

```javascript
client.addEventHandler((update) => {
    console.log("Received new Update");
    console.log(update);
});

```

{% endcode %}
{% endtab %}
{% endtabs %}

For new message updates, you can do this

{% tabs %}
{% tab title="TypeScript" %}

```typescript
async function eventPrint(event: NewMessageEvent) {
    const message = event.message;

    // Checks if it's a private message (from user or bot)
    if (event.isPrivate){
        // prints sender id
        console.log(message.senderId);
        // read message
        if (message.text == "hello"){
            const sender = await message.getSender();
            console.log("sender is",sender);
            await client.sendMessage(sender,{
                message:`hi your id is ${message.senderId}`
            });
        }
    }
}
// adds an event handler for new messages
client.addEventHandler(eventPrint, new NewMessage({}));

```

{% endtab %}

{% tab title="Javascript" %}

```javascript
async function eventPrint(event) {
    const message = event.message;

    // Checks if it's a private message (from user or bot)
    if (event.isPrivate){
        // prints sender id
        console.log(message.senderId);
        // read message
        if (message.text == "hello"){
            const sender = await message.getSender();
            console.log("sender is",sender);
            await client.sendMessage(sender,{
                message:`hi your id is ${message.senderId}`
            });
        }
    }
}
// adds an event handler for new messages
client.addEventHandler(eventPrint, new NewMessage({}));
```

{% endtab %}
{% endtabs %}

&#x20;
