ตัวเรียกใช้แอปพลิเคชัน OneBot ใช้งานโดยใช้ ts รองรับ icqq, หุ่นยนต์อย่างเป็นทางการ qq, หุ่นยนต์ WeChat และ DingTalk
เอกสาร
ตัวอย่างการใช้งาน
การติดตั้งทั่วโลก (ไม่แนะนำหลังจาก 0.4.8)
1 ติดตั้งการพึ่งพา
2 เริ่มต้นไฟล์การกำหนดค่า
ดำเนินการคำสั่งต่อไปนี้ในไดเร็กทอรีที่คุณต้องการจัดเก็บไฟล์การกำหนดค่า
3. เปลี่ยนไฟล์การกำหนดค่าเริ่มต้นที่สร้างขึ้นเป็นการกำหนดค่าที่คุณต้องการและรันคำสั่งด้านบนอีกครั้งเพื่อเริ่มโครงการ
การติดตั้งบางส่วน
1 เริ่มต้นโปรเจ็กต์โหนด
2. ติดตั้ง onebots และการอ้างอิงอะแดปเตอร์ที่เกี่ยวข้อง
npm install onebots
npm install @icqqjs/icqq # 如需使用icqq适配器,请务必安装
npm install web-wechat # 如需使用微信适配器,请务必安装
npm install qq-official-bot # 如需使用qq官方机器人适配器,请务必安装
npm install node-dd-bot # 如需使用钉钉机器人适配器,请务必安装
- เกี่ยวกับคู่มือการติดตั้งของ @icqqjs:
ติดตั้ง:
- สร้างไฟล์ใหม่
.npmrc
ในไดเร็กทอรีรากของโปรเจ็กต์ และป้อนเนื้อหาต่อไปนี้
@icqqjs:registry=https://npm.pkg.github.com
- ป้อน
npm login --scope=@icqqjs --auth-type=legacy --registry=https://npm.pkg.github.com
บนบรรทัดคำสั่ง กด Enter และเข้าสู่ระบบ GitHub ตามข้อความแจ้ง
npm login --scope=@icqqjs --auth-type=legacy --registry=https://npm.pkg.github.com
UserName: # 你的github账号
Password: # 前往 https://github.com/settings/tokens/new 获取,scopes勾选 read:packages
E-Mail: # 你的公开邮箱地址
- ติดตั้งการพึ่งพา
npm install @icqqjs/icqq # or > yarn add @icqqjs/icqq
3. ดำเนินการคำสั่งต่อไปนี้เพื่อสร้างไฟล์การกำหนดค่า
npx onebots -r icqq #注册icqq适配器并启动onebots
npx onebots -r wechat #注册微信适配器并启动onebots
npx onebots -r qq #注册qq官方适配器并启动onebots
npx onebots -r dingtalk #注册钉钉适配器并启动onebots
# 你也可以同时注册多个适配器,多次使用-r即可,例如 npx onebots -r qq -r icqq -r wechat
4. เปลี่ยนไฟล์การกำหนดค่าเริ่มต้นที่สร้างขึ้นเป็นการกำหนดค่าที่คุณต้องการและรันคำสั่งด้านบนอีกครั้งเพื่อเริ่มโครงการ
โปรไฟล์เริ่มต้น
port : 6727 # 监听端口
log_level : info # 日志等级
platform : 5 # 机器人客户端协议(1:Android 2:APad 3:Watch 4:IMac 5:IPad)
timeout : 30 #登录超时时间(秒)
general : # 通用配置,在单个配置省略时的默认值
V11 : # oneBotV11的通用配置
heartbeat : 3 # 心跳间隔 (秒)
access_token : " " # 访问api的token
post_timeout : 15 # 上报超时时间,(秒)
secret : " " # 上报数据的sha1签名密钥
rate_limit_interval : 4 # ws心跳间隔(秒)
post_message_format : string # "string"或"array"
reconnect_interval : 3 # 重连间隔 (秒)
use_http : true # 是否使用 http
enable_cors : true # 是否允许跨域
filters : {} # 过滤器配置
use_ws : true # 是否使用websocket
http_reverse : [] # http上报地址
ws_reverse : [] # 反向ws连接地址
V12 : # oneBotV12的通用配置
heartbeat : 3 # 心跳间隔 (秒)
access_token : " " # 访问api的token
request_timeout : 15 # 上报超时时间 (秒)
reconnect_interval : 3 # 重连间隔 (秒)
enable_cors : true # 是否允许跨域
use_http : true # 是否启用http
use_ws : true # 是否启用 websocket
filters : {} # 过滤器配置
webhook : [] # http 上报地址
ws_reverse : [] # 反向ws连接地址
protocol :
platform : 2
sign_api_addr : " " #你的签名地址
password : " " # 账号密码,未配置则扫码登陆
# ...其他配置项参考icqq的Config配置
# 每个账号的单独配置(用于覆盖通用配置)
icqq.123456789 :
password : " " # 账号密码,未配置则扫码登陆
version : V11 # 使用的oneBot版本
# ...其他配置项参见上方对应oneBot版本的通用配置
protocol :
platform : 2
sign_api_addr : " " #你的签名地址
# ...其他配置项参考icqq的Config配置
qq.123456789 : # `${适配器名称}:${appId}`
versions :
- version : V11
# 。。。其他配置项参见上方对应oneBot版本的通用配置
protocol : # 将会覆盖通用配置中的protocol
token : ' ' # qq机器人token
secret : ' ' # qq机器人secret
sandbox : false # 是否沙箱环境
intents : # 需要监听的intents
- ' GROUP_AT_MESSAGE_CREATE ' # 群聊@事件 没有群聊权限请注释
- ' C2C_MESSAGE_CREATE ' # 私聊事件 没有私聊权限请注释
- ' DIRECT_MESSAGE ' # 频道私信事件
# - 'GUILD_MESSAGES' # 私域机器人频道消息事件,公域机器人请注释
- ' GUILDS ' # 频道变更事件
- ' GUILD_MEMBERS ' # 频道成员变更事件
- ' GUILD_MESSAGE_REACTIONS ' # 频道消息表态事件
- ' INTERACTION ' # 互动事件
- ' PUBLIC_GUILD_MESSAGES ' # 公域机器人频道消息事件,私域机器人请注释
# 。。。其他配置项参见上方对应oneBot版本的通用配置
dingtalk.abcedfg : # `${适配器名称}:${clientId}`
versions :
- version : V11
- version : V12
protocol :
clientSecret : ' ' # 钉钉机器人秘钥 必填
username : '钉钉机器人' #钉钉后台配置的机器人名称 不填则显示'钉钉机器人'
avatar : ' ' # 机器人头像 不填则显示钉钉logo
wechat.bot1 : # `${适配器名称}:${机器人唯一标识}`
versions :
- version : V11
- version : V12
protocol : {}
คำอธิบายการกำหนดค่า
การกำหนดค่า
รายการการกำหนดค่า | พิมพ์ | ค่าเริ่มต้น | รายละเอียด |
---|
ท่าเรือ | ตัวเลข | 6727 | พอร์ตการฟังบริการ |
ระดับบันทึก | เชือก | ข้อมูล | ระดับบันทึก |
ทั่วไป | {V11:V11.Config,V12:V12.Config} | ทั่วไป | การกำหนดค่าทั่วไป |
[อะแดปเตอร์].[หมายเลข] | OneBotConfig | - | การกำหนดค่าหุ่นยนต์ |
OneBotConfig
รายการการกำหนดค่า | พิมพ์ | ค่าเริ่มต้น | รายละเอียด |
---|
รหัสผ่าน | เชือก | - | มีผลเฉพาะกับ icqq เท่านั้น หากไม่ได้กรอกบัญชีและรหัสผ่านหรือเว้นว่างไว้ ให้สแกนโค้ด QR เพื่อเข้าสู่ระบบ |
V11 | V11.การกำหนดค่า | configV11 | การกำหนดค่า V11 |
V12 | V12.การกำหนดค่า | configV12 | การกำหนดค่า V12 |
โปรโตคอล | การกำหนดค่าที่ส่งผ่านไปยังการเริ่มต้นไคลเอ็นต์ | - | |
ConfigV11
รายการการกำหนดค่า | พิมพ์ | ค่าเริ่มต้น | รายละเอียด |
---|
การเต้นของหัวใจ | ตัวเลข | 3 | หน่วยช่วงการเต้นของหัวใจ: วินาที |
access_token | เชือก | - | โทเค็นการเข้าถึง |
ความลับ | เชือก | - | คีย์การลงนาม |
อัตรา_จำกัด_ช่วง | ตัวเลข | 4 | หน่วยช่วงเวลาจำกัดความเร็ว: วินาที |
post_message_format | เชือก | เชือก | การจัดรูปแบบข้อความ |
เชื่อมต่อใหม่_ช่วงเวลา | ตัวเลข | 3 | หน่วยช่วงเวลาการเชื่อมต่อใหม่: วินาที |
use_http | บูลีน | เท็จ | ไม่ว่าจะใช้โปรโตคอล http |
Enable_cors | บูลีน | เท็จ | ว่าจะอนุญาตข้ามโดเมนหรือไม่ |
ตัวกรอง | ตัวกรอง | - | การกำหนดค่าตัวกรองเหตุการณ์ |
use_ws | บูลีน | เท็จ | ไม่ว่าจะใช้โปรโตคอล ws |
http_reverse_url | สตริง[] | - | http ที่อยู่การรายงาน |
ws_reverse_url | สตริง[] | - | ย้อนกลับที่อยู่การเชื่อมต่อ |
กำหนดค่า V12
รายการการกำหนดค่า | พิมพ์ | ค่าเริ่มต้น | รายละเอียด |
---|
การเต้นของหัวใจ | ตัวเลข | 3 | หน่วยช่วงการเต้นของหัวใจ: วินาที |
access_token | เชือก | - | โทเค็นการเข้าถึง |
ขอ_หมดเวลา | ตัวเลข | 15 | หน่วยการหมดเวลาคำขอ: วินาที |
เชื่อมต่อใหม่_ช่วงเวลา | ตัวเลข | 3 | หน่วยช่วงเวลาการเชื่อมต่อใหม่: วินาที |
Enable_cors | บูลีน | เท็จ | ว่าจะอนุญาตข้ามโดเมนหรือไม่ |
ตัวกรอง | ตัวกรอง | - | การกำหนดค่าตัวกรองเหตุการณ์ |
use_http | บูลีน | เท็จ | ไม่ว่าจะใช้โปรโตคอล http |
use_ws | บูลีน | เท็จ | ไม่ว่าจะใช้โปรโตคอล ws |
webhook_reverse_url | สตริง[] | - | ที่อยู่การรายงานของ webhook |
ws_reverse_url | สตริง[] | - | ย้อนกลับที่อยู่การเชื่อมต่อ |
ตัวกรองเหตุการณ์
คำแนะนำด้านไวยากรณ์
- เลเยอร์นอกสุดของตัวกรองเหตุการณ์
onebots
คือออบเจ็กต์ JSON ซึ่งคีย์คือคีย์ key
ของออบเจ็กต์ข้อมูลเหตุการณ์ - ออบเจ็กต์ใดๆ ในกฎการกรองจะปล่อยให้เหตุการณ์ผ่านไปได้ก็ต่อเมื่อรายการทั้งหมดตรงกัน (เทียบเท่ากับการดำเนินการ และ) หากค่าเป็นอาร์เรย์ หมายความว่าค่า
key
ที่สอดคล้องกับเหตุการณ์ต้องเป็นไปตามค่าใดค่าหนึ่ง - ตัวดำเนินการเชิงตรรกะที่ใช้ได้คือ:
$and
(เชิงตรรกะ AND), $or
(เชิงตรรกะ OR), $not
(เชิงตรรกะ NOT), $nor
(พิเศษเชิงตรรกะ OR), $regexp
(การจับคู่ข้อความปกติ), $like
(การจับคู่ข้อความคลุมเครือ) $gt
(ตัวเลขมากกว่าการเปรียบเทียบ), $gte
(ตัวเลขมากกว่าหรือเท่ากับการเปรียบเทียบ), $lt
(ตัวเลขน้อยกว่าการเปรียบเทียบ), $lte
(ตัวเลขน้อยกว่าหรือเท่ากับการเปรียบเทียบ), $between
(การเปรียบเทียบช่วงตัวเลข)
ตัวอย่าง
1. รายงานเฉพาะกิจกรรมแชทส่วนตัวเท่านั้น
filters :
message_type : private
2. แชทส่วนตัวหรือแชทกลุ่มที่กำหนด
filters :
$or :
message_type : private
group_id :
- 123456789 987654321
3. กิจกรรมแชทส่วนตัวและไม่ใช่ผู้ใช้ที่กำหนด
filters :
message_type : private
$not :
user_id :
- 123456789 987654321
4. กิจกรรมแชทส่วนตัว (ไม่รวมกิจกรรมของผู้ใช้ที่ระบุ) หรือกิจกรรมแชทกลุ่มที่ระบุ
filters :
$or :
- message_type : private
$not :
user_id : 123456789
- message_type : group
group_id : 987654321
5. รายงานเฉพาะกิจกรรมข้อความและผู้ใช้มีอายุมากกว่า 18 ปี
filters :
type : message
sender :
age :
$gt : 18
6. รายงานเฉพาะเหตุการณ์ข้อความและเนื้อหาข้อความเท่านั้น! ข้อความที่จุดเริ่มต้น
filters :
type : message
raw_message :
.regexp : ' ^!|! '
7. ห้ามรายงานข้อความที่มี cnm
filters :
$not :
type : message
raw_message :
$like : cnm
จัดการ oneBot โดยใช้ API
URL | วิธี | พารามิเตอร์ | รายละเอียด |
---|
/รายการ | รับ | | รับรายชื่อหุ่นยนต์ที่ทำงานอยู่ในปัจจุบัน |
/รายละเอียด | รับ | คุณ | รับการกำหนดค่าหุ่นยนต์ที่ระบุ |
/คิวอาร์โค้ด | รับ | คุณ | รับรหัส QR สำหรับการเข้าสู่ระบบหุ่นยนต์ที่กำหนด |
/เพิ่ม | โพสต์ | {uin,...config} | เพิ่มการกำหนดค่าหุ่นยนต์สำหรับการกำหนดค่าหุ่นยนต์ |
/แก้ไข | โพสต์ | {uin,...config} | แก้ไขการกำหนดค่าหุ่นยนต์สำหรับการกำหนดค่าหุ่นยนต์ |
/ลบ | รับ | อู๋, บังคับ | ลบหุ่นยนต์ออก เมื่อแรงเป็นจริง ไดเร็กทอรีข้อมูลหุ่นยนต์จะถูกลบ |
รับทราบ
- การสนับสนุนบริการพื้นฐาน icqqjs/icqq
- ทาคายามะลิลลี่/onebot oneBot V11 เวอร์ชันดั้งเดิม