Channels
Channel Viber
OpenClaw Viber channel plugin — connect OpenClaw agents to Viber via the Bot API
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