Skip to content

Line 适配器

Line 适配器支持通过 Line Messaging API 接入 onebots 服务。

状态

已实现并可用

功能特性

  • 消息收发
    • 私聊消息收发
    • 群组消息收发
    • 聊天室消息收发
    • 支持文本、图片、视频、音频、文件、位置、贴图等多种消息格式
  • 消息管理
    • 回复消息
    • 推送消息
  • 用户管理
    • 获取用户资料
    • 获取群组成员资料
    • 获取聊天室成员资料
  • 群组管理
    • 获取群组信息
    • 获取群组成员列表
    • 离开群组
  • 聊天室管理
    • 获取聊天室成员列表
    • 离开聊天室
  • 事件处理
    • 消息事件
    • 关注/取消关注事件
    • 加入/离开群组事件
    • 成员加入/离开事件
    • Postback 事件

安装

在 Web 控制台打开「功能扩展」并选择对应适配器;也可以运行:

bash
onebots ui --data-dir <workspace> --setup

管理服务会将适配器及其必需的对等依赖安装到经过验证的不可变运行代。请勿在 OneBots 运行目录中直接执行包管理器安装命令。

配置

config.yaml 中配置 Line 账号:

yaml
# Line 机器人账号配置
line.your_bot_id:
  # Line 平台配置
  channel_access_token: 'your_channel_access_token'  # Channel Access Token,必填
  channel_secret: 'your_channel_secret'              # Channel Secret,必填
  
  # OneBot V11 协议配置
  onebot.v11:
    access_token: 'your_v11_token'
  
  # OneBot V12 协议配置
  onebot.v12:
    access_token: 'your_v12_token'

配置项说明

配置项类型必填说明
channel_access_tokenstringLine Channel Access Token
channel_secretstringLine Channel Secret
receive_modestringwebhook(默认)或 manual
destinationstring校验事件属于当前机器人的 LINE destination ID

获取 Channel Access Token 和 Channel Secret

  1. 访问 Line Developers Console
  2. 创建一个 Provider(如果还没有)
  3. 创建一个新的 Messaging API Channel
  4. 在 Channel 的 "Basic settings" 页面获取 Channel Secret
  5. 在 Channel 的 "Messaging API" 页面生成或获取 Channel Access Token

Webhook 配置

Line 适配器使用 Webhook 模式接收消息。启动服务后,需要在 Line Developers Console 中配置 Webhook URL:

  1. 在 Line Developers Console 中进入你的 Channel
  2. 在 "Messaging API" 页面找到 "Webhook settings"
  3. 设置 Webhook URL 为:
    https://your-domain.com/line/{account_id}/webhook
    例如:
    https://bot.example.com/line/my_bot/webhook
  4. 点击 "Verify" 验证 Webhook
  5. 启用 "Use webhook"

注意

  • Webhook URL 必须是 HTTPS
  • 确保你的服务器可以从公网访问
  • 建议在生产环境使用反向代理(如 Nginx)

使用示例

启动服务

bash
# 注册 Line 适配器和 OneBot V11 协议
onebots ui --data-dir /path/to/onebots-data

客户端 SDK 使用

客户端应连接完整账号协议根,例如 http://localhost:6727/line/{account_id}/onebot/v12。创建 Client、选择接收模式、接入已有 Host 与调用 API 的统一说明见客户端 SDK 使用指南

支持的消息类型

发送消息

类型说明
text文本消息
image图片消息
video视频消息
audio音频消息
file文件消息
location位置消息
sticker贴图消息

接收消息

类型说明
text文本消息
image图片消息
video视频消息
audio音频消息
file文件消息
location位置消息
sticker贴图消息

相关链接