open-index/open-npm huggingface dataset:
npm package: @hitechclaw/channel-discord
Description: HiTechClaw Discord channel plugin
Latest version: 2.0.2

---
title: Discord
description: Connect a Discord Bot to HiTechClaw for real-time AI conversations in your server.
---

## Prerequisites

- A Discord Bot token from [Discord Developer Portal](https://discord.com/developers/applications)
- **Message Content Intent** enabled in Bot settings

## Setup

### 1. Create a Discord Application

1. Go to [Discord Developer Portal](https://discord.com/developers/applications)
2. Click **New Application**, enter a name (e.g., "HiTechClaw Bot")
3. Navigate to **Bot** → Click **Add Bot**
4. Copy the **Bot Token**

### 2. Enable Required Intents

In the Bot settings page, enable:
- **Message Content Intent** — required to read message text
- **Server Members Intent** — optional, for user context

### 3. Invite Bot to Your Server

1. Go to **OAuth2** → **URL Generator**
2. Select scopes: `bot`, `applications.commands`
3. Select permissions: `Send Messages`, `Read Message History`, `View Channels`
4. Copy the generated URL and open it to invite the bot

### 4. Configure in HiTechClaw

1. Navigate to **Channels** → **Add Channel**
2. Select **Discord**
3. Paste your **Bot Token**
4. Optionally specify **Guild IDs** (comma-separated) to limit to specific servers
5. Click **Create** to save

### 5. Activate

Click **Activate** on the channel card. HiTechClaw will connect via the Discord Gateway WebSocket.

## How It Works

- Uses **Discord Gateway v10** (WebSocket) for real-time message receiving
- **REST API** for sending messages back
- **Auto-reconnect**: If the WebSocket disconnects, the bot reconnects after 5 seconds
- **Heartbeat**: Maintains connection with Discord's heartbeat protocol
- **Message splitting**: Long responses are automatically split at 2000 chars (Discord limit)

## Configuration Fields

| Field | Required | Description |
|-------|----------|-------------|
| `botToken` | ✅ | Bot token from Discord Developer Portal |
| `guildIds` | ❌ | Comma-separated guild IDs to listen to (empty = all guilds) |

## Message Filtering

- Bot messages and self-messages are ignored
- If `guildIds` is configured, messages from other servers are filtered out
- All non-bot messages in accessible channels are processed
npm package: @hitechclaw/channel-facebook
Description: HiTechClaw Facebook Messenger channel plugin
Latest version: 2.0.1

---
title: Facebook Messenger
description: Connect HiTechClaw to Facebook Messenger via the Meta Graph API webhook.
---

## Prerequisites

- A [Meta Business Account](https://business.facebook.com)
- A Facebook Page (the bot will appear as this page)
- A Meta Developer App linked to your page

## Setup

### 1. Create a Meta App

1. Go to [developers.facebook.com](https://developers.facebook.com) → **My Apps** → **Create App**
2. Select **Business**, then add the **Messenger** product
3. Under **Messenger** → **Settings**, generate a **Page Access Token** for your page
4. Note the **Page ID** shown next to your page name

### 2. Configure Webhook

HiTechClaw exposes a universal channel webhook at:

```
GET  https://your-domain/webhooks/channels/:connectionId   ← Meta verification
POST https://your-domain/webhooks/channels/:connectionId   ← Incoming messages
```

In the Meta Developer Portal:
1. Go to **Messenger** → **Webhooks** → **Add Callback URL**
2. Set **Callback URL** to `https://your-domain/webhooks/channels/<connectionId>`
3. Set **Verify Token** to the same value you enter in HiTechClaw
4. Subscribe to the **messages** and **messaging_postbacks** fields

> **Tip**: Get `<connectionId>` from the channel card in HiTechClaw after saving the configuration.

### 3. Configure in HiTechClaw

1. Navigate to **Channels** → **Add Channel** → **Facebook Messenger**
2. Fill in the fields below
3. Click **Test Connection** — HiTechClaw calls the Graph API and returns your page name
4. Click **Activate**

## Configuration Fields

| Field | Required | Description |
|-------|----------|-------------|
| `pageAccessToken` | ✅ | Long-lived page access token from Meta App |
| `pageId` | ✅ | Facebook Page ID |
| `verifyToken` | ✅ | Custom string for webhook verification |
| `appSecret` | ❌ | App Secret for payload signature verification (recommended) |

## How It Works

- **Incoming text**: Processed via the universal channel message handler
- **Postbacks**: `payload` field from quick-reply buttons is treated as a user message
- **Outgoing**: Sent via `POST /v18.0/me/messages` to the Graph API
- **Webhook verification**: Meta sends a `GET` with `hub.challenge` — HiTechClaw verifies the token and echoes the challenge

## Features

- ✅ Text messages in/out
- ✅ Postback payloads (quick-reply buttons)
- ✅ Test Connection validates page token before activation
- ✅ Universal webhook route shared with WhatsApp/Zalo
- ❌ Image/attachment sending (send text only; receiving images works)

## Limitations

- Facebook pages must be in **Live mode** to receive messages from real users (not just test users)
- Rate limits: 200 calls/user/hour on the Messenger API
npm package: @hitechclaw/channel-msteams
Description: HiTechClaw Microsoft Teams channel plugin
Latest version: 2.0.0

---
title: Microsoft Teams
description: Connect HiTechClaw to Microsoft Teams via the Bot Framework.
---

## Prerequisites

- An Azure account with an [Azure AD App Registration](https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade)
- A Bot Channel Registration on [dev.botframework.com](https://dev.botframework.com)

## Setup

### 1. Register Azure AD App

1. Go to **Azure Portal** → **App registrations** → **New registration**
2. Name: "HiTechClaw Bot", set **Supported account types** to Multi-tenant
3. Note the **Application (client) ID**
4. Go to **Certificates & Secrets** → **New client secret** → copy the value

### 2. Register Bot Channel

1. Go to [dev.botframework.com](https://dev.botframework.com) → **Register a bot**
2. Set **Messaging endpoint** to: `https://your-domain/api/channels/msteams/messages`
3. Connect the **Microsoft Teams** channel

### 3. Configure in HiTechClaw

1. Navigate to **Channels** → **Add Channel** → **Microsoft Teams**
2. Enter **App ID** (Client ID) and **App Password** (Client Secret)
3. Optionally set **Tenant ID** (leave empty for multi-tenant)
4. Click **Test Connection** → **Activate**

## Configuration Fields

| Field | Required | Description |
|-------|----------|-------------|
| `appId` | ✅ | Azure AD Application (Client) ID |
| `appPassword` | ✅ | Client Secret from Azure AD |
| `tenantId` | ❌ | Tenant ID (defaults to `common`) |

## Features

- **OAuth2 authentication**: Automatic token management with refresh
- **Typing indicator**: Shows "typing..." while processing
- **@mention handling**: Strips @mentions from message text
- **Thread/reply support**: Replies maintain conversation context
- **Service URL caching**: Optimized for multi-region deployment
npm package: @hitechclaw/channel-slack
Description: HiTechClaw Slack channel plugin using Bolt SDK
Latest version: 2.0.1

---
title: Slack
description: Connect HiTechClaw to your Slack workspace for AI-powered team assistance.
---

## Prerequisites

- A Slack workspace with admin access
- A Slack App created at [api.slack.com](https://api.slack.com/apps)

## Setup

### 1. Create a Slack App

1. Go to [api.slack.com/apps](https://api.slack.com/apps) → **Create New App**
2. Choose **From scratch**, name it (e.g., "HiTechClaw AI"), select your workspace
3. Navigate to **OAuth & Permissions** → add these Bot Token Scopes:
   - `chat:write` — Send messages
   - `channels:history` — Read channel messages
   - `im:history` — Read DM messages
   - `app_mentions:read` — Detect @mentions
4. Click **Install to Workspace** → authorize
5. Copy the **Bot User OAuth Token** (`xoxb-...`)

### 2. Enable Events (recommended)

1. Go to **Event Subscriptions** → enable
2. Set **Request URL** to your HiTechClaw webhook: `https://your-domain/api/channels/slack/events`
3. Subscribe to bot events: `message.channels`, `message.im`, `app_mention`

### 3. Configure in HiTechClaw

1. Navigate to **Channels** → **Add Channel** → **Slack**
2. Enter your **Bot Token** and **Signing Secret**
3. Click **Test Connection** to verify
4. **Activate** the channel

## Configuration Fields

| Field | Required | Description |
|-------|----------|-------------|
| `botToken` | ✅ | Bot User OAuth Token (`xoxb-...`) |
| `signingSecret` | ✅ | App signing secret (from Basic Information) |

## Features

- **Thread support**: Replies in threads when messages are in threads
- **@mention detection**: Only responds when mentioned in channels
- **DM support**: All direct messages are processed
- **Rich text**: Supports Slack's mrkdwn formatting
npm package: @hitechclaw/channel-telegram
Description: HiTechClaw Telegram channel plugin
Latest version: 2.0.2

---
title: Telegram
description: Connect a Telegram Bot to HiTechClaw for receiving and sending messages.
---

## Prerequisites

- A Telegram Bot token from [@BotFather](https://t.me/BotFather)

## Setup

### 1. Create a Bot

1. Open Telegram and search for **@BotFather**
2. Send `/newbot` and follow the prompts
3. Copy the bot token (e.g., `123456789:ABCdefGHIjklMNOpqrSTUvwxYZ`)

### 2. Configure in HiTechClaw

1. Navigate to **Channels** → **Add Channel**
2. Select **Telegram**
3. Paste your **Bot Token**
4. Click **Test Connection** — you should see your bot's username
5. Click **Create** to save

### 3. Activate

Click **Activate** on the channel card. HiTechClaw will start polling for messages.

## How It Works

- Uses **long polling** (`getUpdates` API) to receive messages
- **Group support**: Bot responds when @mentioned, replied to, or when a command is sent
- **Private chats**: All messages are processed
- **Typing indicator**: Shows "typing..." while processing
- **Message splitting**: Long responses are automatically split at 4096 chars

## Configuration Fields

| Field | Required | Description |
|-------|----------|-------------|
| `botToken` | ✅ | Bot token from @BotFather |

## Image & Vision Support

When a user sends a **photo**, HiTechClaw automatically:

1. Downloads the image from Telegram's file server
2. Converts it to a base64 data URL
3. **Hard-switches** to the vision model (e.g. `llava:13b` via Ollama, or Gemini) for that message
4. The vision fallback chain is: `ollama-vision → gemini → openai → ollama`

Configure the vision model via env vars:

```bash
VISION_PROVIDER=ollama
VISION_MODEL=llava:13b   # or qwen2.5vl:7b, gemma3:12b
```

No config is needed if `LLM_MODEL` already supports vision (e.g. `gemma3:12b`).

## Realtime Search Detection

For messages about time-sensitive topics (weather, news, prices, scores), HiTechClaw automatically prepends a routing instruction telling the agent to use web-search tools first. This works for both Vietnamese and English.

## Group Chat

In group chats, the bot responds when:
- **@mentioned** by username
- **Replied to** directly
- A **/command** is sent
npm package: @hitechclaw/channel-whatsapp
Description: HiTechClaw WhatsApp channel plugin via Cloud API
Latest version: 2.0.1

---
title: WhatsApp
description: Connect HiTechClaw to WhatsApp Business via the Meta Cloud API.
---

## Prerequisites

- A [Meta Business Account](https://business.facebook.com)
- A WhatsApp Business API phone number
- An access token from Meta Developer Portal

## Setup

### 1. Create a Meta App

1. Go to [developers.facebook.com](https://developers.facebook.com) → **My Apps** → **Create App**
2. Select **Business** → **WhatsApp**
3. In **WhatsApp** → **Getting Started**, note your **Phone Number ID** and **Access Token**

### 2. Configure Webhook

1. Set the **Callback URL** to: `https://your-domain/api/channels/whatsapp/webhook`
2. Set a custom **Verify Token** (you'll need this in HiTechClaw config)
3. Subscribe to **messages** webhook field

### 3. Configure in HiTechClaw

1. Navigate to **Channels** → **Add Channel** → **WhatsApp**
2. Enter **Phone Number ID**, **Access Token**, and **Verify Token**
3. Click **Test Connection** → **Activate**

## Configuration Fields

| Field | Required | Description |
|-------|----------|-------------|
| `phoneNumberId` | ✅ | WhatsApp Business phone number ID |
| `accessToken` | ✅ | Permanent or temporary access token |
| `verifyToken` | ✅ | Custom string for webhook verification |

## Features

- **Read receipts**: Messages are marked as read automatically
- **Text messages**: Full support for incoming/outgoing text
- **Message splitting**: Long responses split at 4096 characters
npm package: @hitechclaw/channel-zalo
Description: HiTechClaw Zalo OA channel plugin
Latest version: 2.0.1

---
title: Zalo OA
description: Kết nối HiTechClaw với Zalo Official Account cho thị trường Việt Nam.
---

## Yêu cầu

- Tài khoản [Zalo Developer](https://developers.zalo.me)
- Một Zalo Official Account (OA)
- Access Token từ Zalo Open API

## Thiết lập

### 1. Tạo App trên Zalo Developer

1. Đăng nhập [developers.zalo.me](https://developers.zalo.me) → **Tạo ứng dụng**
2. Vào **Quản lý OA** → chọn OA cần kết nối
3. Copy **OA ID** và **Access Token**

### 2. Cấu hình Webhook

1. Trong Zalo Developer → **Webhook** → thêm URL: `https://your-domain/api/channels/zalo/webhook`
2. Bật sự kiện **user_send_text** (tin nhắn văn bản từ user)

### 3. Cấu hình trong HiTechClaw

1. Vào **Channels** → **Add Channel** → **Zalo OA**
2. Nhập **OA ID** và **Access Token**
3. Nhấn **Test Connection** → **Activate**

## Cấu hình

| Trường | Bắt buộc | Mô tả |
|--------|----------|-------|
| `oaId` | ✅ | ID của Official Account |
| `accessToken` | ✅ | Access Token từ Zalo Open API |
| `appId` | ❌ | App ID (nếu dùng nhiều app) |
| `secretKey` | ❌ | Secret key để xác thực webhook |

## Tính năng

- **Tin nhắn văn bản**: Nhận và gửi tin nhắn text
- **Hình ảnh**: Gửi hình ảnh qua OA API
- **Tự động chia**: Tin nhắn dài tự động chia ở mốc 2000 ký tự
- **OA verification**: Xác thực kết nối tự động khi bật channel