← Back to Plugins
Channels

Channel Viber

patrickrkahn By patrickrkahn 👁 170 views ▲ 0 votes

OpenClaw Viber channel plugin — connect OpenClaw agents to Viber via the Bot API

GitHub

Install

npm install @imaginarium/openclaw-channel-viber

Configuration Example

channels:
  viber:
    accounts:
      - token: "YOUR_VIBER_BOT_TOKEN"
        webhookUrl: "https://your-domain.com/webhooks/viber"
        name: "My Bot"
        avatar: "https://example.com/avatar.jpg"
        allowList:
          - "viber-user-id-1"
          - "viber-user-id-2"

README

# @imaginarium/openclaw-channel-viber

Viber channel plugin for [OpenClaw](https://openclaw.ai) — connect your AI agent to Viber via the Bot API.

## Features

- Send and receive text messages
- Send images, videos, and files
- Inline keyboard buttons
- Webhook signature verification (HMAC-SHA256)
- Allowlist-based access control
- Automatic webhook registration on startup

## Prerequisites

1. Create a Viber Bot at [Viber Partners](https://partners.viber.com/)
2. Get your bot authentication token
3. OpenClaw installed and running

## Installation

```bash
npm install @imaginarium/openclaw-channel-viber
```

## Configuration

Add to your OpenClaw config (`config.yaml` or via `openclaw setup`):

```yaml
channels:
  viber:
    accounts:
      - token: "YOUR_VIBER_BOT_TOKEN"
        webhookUrl: "https://your-domain.com/webhooks/viber"
        name: "My Bot"
        avatar: "https://example.com/avatar.jpg"
        allowList:
          - "viber-user-id-1"
          - "viber-user-id-2"
```

### Config Options

| Option | Required | Description |
|--------|----------|-------------|
| `token` | ✅ | Viber Bot API authentication token |
| `webhookUrl` | ❌ | Public URL for Viber to send webhook events |
| `name` | ❌ | Bot display name in messages |
| `avatar` | ❌ | Bot avatar URL |
| `allowList` | ❌ | Array of Viber user IDs allowed to interact |
| `enabled` | ❌ | Enable/disable the account (default: true) |

## Setup

Run the interactive setup:

```bash
openclaw setup viber
```

This will:
1. Ask for your Viber bot token
2. Validate the token
3. Register the webhook URL
4. Save the configuration

## How It Works

1. **Webhook Registration**: On startup, the plugin registers your webhook URL with the Viber API
2. **Incoming Messages**: Viber sends webhook events to your URL; the plugin verifies the signature and routes messages to OpenClaw
3. **Outgoing Messages**: OpenClaw sends responses via the Viber Bot API
4. **Security**: All webhook requests are verified using HMAC-SHA256 signatures

## Capabilities

| Feature | Supported |
|---------|-----------|
| Text messages | ✅ |
| Media (images, video, files) | ✅ |
| Inline keyboards | ✅ |
| Reactions | ❌ |
| Message editing | ❌ |
| Message deletion | ❌ |
| Threading | ❌ |
| Voice notes | ❌ |

## Security

- **Webhook Verification**: All incoming webhooks are verified using HMAC-SHA256 with your bot token
- **Allowlist**: Restrict bot access to specific Viber user IDs
- **Token Security**: Bot token is marked as sensitive in the config schema

## Development

```bash
git clone https://github.com/imaginarium/openclaw-channel-viber
cd openclaw-channel-viber
npm install
npm run build
```

## License

MIT
channels

Comments

Sign in to leave a comment

Loading comments...