Skip to content

6. Thêm Channels - WhatsApp, Discord, Slack

Mục tiêu: Thêm các kênh khác ngoài Telegram.

WhatsApp

Tại sao dùng WhatsApp?

  • Phổ biến nhất tại VN
  • Dùng số điện thoại cá nhân
  • Không cần tạo bot

Bước 1: Đăng nhập

bash
openclaw channels login whatsapp

Hiển thị QR code → Quét bằng WhatsApp trên điện thoại:

  1. Mở WhatsApp
  2. Settings → Linked Devices
  3. Link a Device → Scan QR

Bước 2: Cấu hình bảo mật (QUAN TRỌNG)

bash
# Bật pairing
openclaw config set channels.whatsapp.dmPolicy "pairing"

# Giới hạn ai có thể nhắn tin
openclaw config set channels.whatsapp.allowFrom '["+84123456789", "+84987654321"]'

Bước 3: Test

bash
# Gửi tin nhắn test
openclaw message send --to whatsapp --to-id "+84123456789" --message "Hello from OpenClaw!"

Cấu hình nâng cao

json5
{
  channels: {
    whatsapp: {
      dmPolicy: "pairing",
      allowFrom: ["+84123456789"],
      groups: {
        "*": { requireMention: true }, // Tất cả nhóm cần @mention
        "Family Group": { requireMention: false }, // Nhóm này luôn phản hồi
      },
    },
  },
}

Discord

Bước 1: Tạo Bot

  1. Truy cập: https://discord.com/developers/applications
  2. New Application → đặt tên
  3. Tab Bot → Add Bot
  4. Copy Bot Token
  5. Bật Privileged Intents:
    • SERVER MEMBERS INTENT
    • MESSAGE CONTENT INTENT

Bước 2: Cấu hình OpenClaw

bash
openclaw config set channels.discord.token "YOUR_BOT_TOKEN"

Bước 3: Mời bot vào server

  1. Tab OAuth2 → URL Generator
  2. Scopes: bot, applications.commands
  3. Bot Permissions:
    • Send Messages
    • Read Message History
    • Mention Everyone
  4. Copy URL → Mở browser → Chọn server

Bước 4: Cấu hình nâng cao

json5
{
  channels: {
    discord: {
      token: "${DISCORD_BOT_TOKEN}",
      dmPolicy: "pairing",
      intents: [
        "GUILDS",
        "GUILD_MESSAGES",
        "DIRECT_MESSAGES",
        "MESSAGE_CONTENT",
      ],
      guilds: {
        "guild-id": {
          dmPolicy: "pairing",
          requireMention: true,
        },
      },
    },
  },
}

Slash Commands

bash
# Đăng ký commands
openclaw discord register-commands

Commands có sẵn:

  • /ask - Hỏi AI
  • /status - Kiểm tra trạng thái
  • /help - Trợ giúp

Slack

Bước 1: Tạo App

  1. https://api.slack.com/apps → Create New App
  2. From scratch → đặt tên → chọn workspace

Bước 2: Cấu hình OAuth

  1. OAuth & Permissions → Add Bot Token Scopes:

    • app_mentions:read
    • chat:write
    • channels:history
    • im:history
    • groups:history
  2. Install to Workspace → Allow

  3. Copy Bot User OAuth Token (bắt đầu bằng xoxb-)

Bước 3: Cấu hình OpenClaw

bash
openclaw config set channels.slack.botToken "xoxb-..."

Bước 4: Cấu hình Events (tùy chọn)

Nếu muốn bot phản hồi real-time:

  1. Event Subscriptions → Enable
  2. Add URL: https://your-domain.com/webhook/slack
  3. Subscribe to events:
    • app_mention
    • message.channels

Signal

Yêu cầu

Cần cài signal-cli trước:

bash
# macOS
brew install signal-cli

# Ubuntu
sudo apt install signal-cli

Cấu hình

json5
{
  channels: {
    signal: {
      phoneNumber: "+1234567890",
      signalCli: {
        path: "/usr/bin/signal-cli",
        configPath: "~/.local/share/signal-cli",
      },
      allowFrom: ["+1234567890", "+9876543210"],
    },
  },
}

Đăng ký số

bash
signal-cli -u +1234567890 register
# Nhập mã xác minh từ SMS
signal-cli -u +1234567890 verify 123456

iMessage (macOS only)

Yêu cầu

  • Mac với Apple ID
  • BlueBubbles server (nếu dùng remote)

Cấu hình

json5
{
  channels: {
    imessage: {
      mode: "local", // hoặc "bluebubbles"
      // Nếu dùng BlueBubbles:
      serverUrl: "https://your-mac.local:8181",
      password: "your-password",
    },
  },
}

Quản lý nhiều channels

Liệt kê tất cả

bash
openclaw channels list

Output:

Channels:
├─ telegram: active ✅
├─ whatsapp: active ✅
├─ discord: active ✅
└─ slack: disconnected ❌

Kiểm tra trạng thái

bash
openclaw channels status

Khởi động lại kênh

bash
openclaw channels restart telegram

Ngắt kết nối

bash
openclaw channels unlink whatsapp

Cấu hình Multi-Channel

json5
{
  channels: {
    telegram: {
      botToken: "${TELEGRAM_BOT_TOKEN}",
      dmPolicy: "pairing",
    },
    whatsapp: {
      dmPolicy: "pairing",
      allowFrom: ["+84123456789"],
    },
    discord: {
      token: "${DISCORD_BOT_TOKEN}",
      dmPolicy: "pairing",
    },
    slack: {
      botToken: "${SLACK_BOT_TOKEN}",
      dmPolicy: "pairing",
    },
  },
}

So sánh các kênh

KênhĐộ khóPhù hợp choLưu ý
Telegram⭐ DễMới bắt đầuChỉ cần bot token
WhatsApp⭐⭐ Trung bìnhCá nhânCần quét QR
Discord⭐⭐ Trung bìnhCộng đồngCần thiết lập intents
Slack⭐⭐ Trung bìnhTeam/WorkCần OAuth scopes
Signal⭐⭐⭐ KhóBảo mật caoCần signal-cli
iMessage⭐⭐⭐ KhóHệ sinh thái AppleChỉ macOS

Best Practices

1. Bắt đầu với 1-2 kênh

  • Telegram (dễ nhất)
  • WhatsApp (phổ biến VN)

2. Luôn bật pairing cho tất cả kênh

bash
openclaw config set channels.telegram.dmPolicy "pairing"
openclaw config set channels.whatsapp.dmPolicy "pairing"
openclaw config set channels.discord.dmPolicy "pairing"

3. Backup cấu hình trước khi thêm kênh mới

bash
openclaw config export > backup-before-new-channel.json

Tiếp theo?

Internal documentation for iNET Portal