Peluncur aplikasi OneBot diimplementasikan menggunakan ts, mendukung icqq, robot resmi qq, robot WeChat dan DingTalk
dokumen
Contoh penggunaan
Instalasi global (tidak disarankan setelah 0.4.8)
1 Instal dependensi
2 Inisialisasi file konfigurasi
Jalankan perintah berikut di direktori tempat Anda ingin menyimpan file konfigurasi
3. Ubah file konfigurasi default yang dihasilkan ke konfigurasi yang Anda inginkan dan jalankan kembali perintah di atas untuk memulai proyek.
instalasi sebagian
1 Inisialisasi proyek simpul
2. Instal onebots dan dependensi adaptor yang sesuai
npm install onebots
npm install @icqqjs/icqq # 如需使用icqq适配器,请务必安装
npm install web-wechat # 如需使用微信适配器,请务必安装
npm install qq-official-bot # 如需使用qq官方机器人适配器,请务必安装
npm install node-dd-bot # 如需使用钉钉机器人适配器,请务必安装
- Mengenai panduan instalasi @icqqjs:
Memasang:
- Buat file baru
.npmrc
di direktori root proyek Anda dan masukkan konten berikut
@icqqjs:registry=https://npm.pkg.github.com
- Masukkan
npm login --scope=@icqqjs --auth-type=legacy --registry=https://npm.pkg.github.com
pada baris perintah, tekan Enter, dan masuk ke github sesuai petunjuknya
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: # 你的公开邮箱地址
- Instal dependensi
npm install @icqqjs/icqq # or > yarn add @icqqjs/icqq
3. Jalankan perintah berikut untuk menghasilkan file konfigurasi
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. Ubah file konfigurasi default yang dihasilkan ke konfigurasi yang Anda inginkan dan jalankan kembali perintah di atas untuk memulai proyek.
Profil bawaan
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 : {}
Penjelasan konfigurasi
Konfigurasi
Item konfigurasi | jenis | nilai bawaan | deskripsi |
---|
pelabuhan | nomor | 6727 | Port mendengarkan layanan |
tingkat log | rangkaian | info | tingkat log |
umum | {V11:V11.Config,V12:V12.Config} | umum | Konfigurasi umum |
[adaptor].[nomor] | Konfigurasi OneBot | - | Konfigurasi robot |
Konfigurasi OneBot
Item konfigurasi | jenis | nilai bawaan | deskripsi |
---|
kata sandi | rangkaian | - | Hanya berlaku untuk icqq, jika akun dan password tidak terisi atau kosong, scan kode QR untuk login. |
V11 | V11.Konfigurasi | configV11 | Konfigurasi V11 |
V12 | V12.Konfigurasi | configV12 | Konfigurasi V12 |
protokol | Konfigurasi diteruskan ke inisialisasi klien | {} | |
KonfigurasiV11
Item konfigurasi | jenis | nilai bawaan | deskripsi |
---|
denyut jantung | nomor | 3 | Satuan interval detak jantung: detik |
akses_token | rangkaian | - | token akses |
rahasia | rangkaian | - | Kunci penandatanganan |
rate_limit_interval | nomor | 4 | Satuan interval batas kecepatan: detik |
post_message_format | rangkaian | rangkaian | Pemformatan pesan |
sambungkan kembali_interval | nomor | 3 | Satuan interval penyambungan kembali: detik |
gunakan_http | boolean | PALSU | Apakah akan menggunakan protokol http |
aktifkan_cors | boolean | PALSU | Apakah akan mengizinkan lintas domain |
filter | Filter | {} | Konfigurasi filter peristiwa |
gunakan_ws | boolean | PALSU | Apakah akan menggunakan protokol ws |
http_reverse_url | rangkaian[] | - | alamat pelaporan http |
ws_reverse_url | rangkaian[] | - | Membalikkan alamat koneksi |
KonfigurasiV12
Item konfigurasi | jenis | nilai bawaan | deskripsi |
---|
denyut jantung | nomor | 3 | Satuan interval detak jantung: detik |
akses_token | rangkaian | - | token akses |
permintaan_waktu habis | nomor | 15 | Satuan batas waktu permintaan: detik |
sambungkan kembali_interval | nomor | 3 | Satuan interval penyambungan kembali: detik |
aktifkan_cors | boolean | PALSU | Apakah akan mengizinkan lintas domain |
filter | Filter | {} | Konfigurasi filter peristiwa |
gunakan_http | boolean | PALSU | Apakah akan menggunakan protokol http |
gunakan_ws | boolean | PALSU | Apakah akan menggunakan protokol ws |
webhook_reverse_url | rangkaian[] | - | alamat pelaporan webhook |
ws_reverse_url | rangkaian[] | - | Membalikkan alamat koneksi |
penyaring acara
Instruksi tata bahasa
- Lapisan terluar dari filter peristiwa
onebots
adalah objek JSON, di mana kuncinya adalah kuncinya. Jika itu adalah algoritma, nilainya digunakan sebagai parameter operator key
objek data peristiwa. - Objek apa pun dalam aturan pemfilteran hanya akan membiarkan peristiwa lewat jika semua itemnya cocok (
key
dengan operasi and). - Operator logika yang tersedia adalah:
$and
(logis AND), $or
(logis OR), $not
(logis NOT), $nor
(logis XOR), $regexp
(pencocokan teks biasa), $like
(pencocokan fuzzy teks), $gt
(nilai numerik lebih besar dari perbandingan), $gte
(nilai numerik lebih besar atau sama dengan perbandingan), $lt
(nilai numerik kurang dari atau sama dengan perbandingan), $lte
(nilai numerik kurang dari atau sama dengan perbandingan), $between
(perbandingan rentang numerik)
Contoh
1. Hanya laporkan acara obrolan pribadi
filters :
message_type : private
2. Obrolan pribadi atau obrolan grup khusus
filters :
$or :
message_type : private
group_id :
- 123456789 987654321
3. Acara obrolan pribadi dan bukan pengguna yang ditunjuk
filters :
message_type : private
$not :
user_id :
- 123456789 987654321
4. Acara obrolan pribadi (tidak termasuk acara pengguna tertentu) atau acara obrolan grup tertentu
filters :
$or :
- message_type : private
$not :
user_id : 123456789
- message_type : group
group_id : 987654321
5. Hanya laporkan peristiwa pesan dan pengguna berusia lebih dari 18 tahun
filters :
type : message
sender :
age :
$gt : 18
6. Hanya laporkan peristiwa pesan dan isi pesannya! pesan di awal
filters :
type : message
raw_message :
.regexp : ' ^!|! '
7. Jangan laporkan pesan yang mengandung cnm
.
filters :
$not :
type : message
raw_message :
$like : cnm
Kelola oneBot menggunakan API
url | metode | param | deskripsi |
---|
/daftar | MENDAPATKAN | | Dapatkan daftar robot yang sedang berjalan |
/detail | MENDAPATKAN | kamu | Dapatkan konfigurasi robot yang ditentukan |
/ kode qr | MENDAPATKAN | kamu | Dapatkan kode QR login robot yang ditunjuk |
/menambahkan | POS | {uin,...konfigurasi} | Tambahkan konfigurasi robot untuk konfigurasi robot |
/edit | POS | {uin,...konfigurasi} | Ubah konfigurasi konfigurasi robot untuk konfigurasi robot |
/menghapus | mendapatkan | uin, paksa | Hapus robot. Jika force benar, direktori data robot akan dihapus. |
Ucapan Terima Kasih
- dukungan layanan dasar icqqjs/icqq
- takayama-lily/onebot oneBot V11 versi asli