Dorong Semua Dalam Satu! Mendukung Saus Server (dan Saus Server³), email khusus, robot DingTalk, robot WeChat perusahaan, aplikasi WeChat perusahaan, pushplus, iGot, Qmsg, Xizhi, PushDeer, Discord, OneBot, Telegram, dan metode push lainnya.
Push All In One! Mendukung beberapa metode push termasuk Server Chan (dan Server Chan³), email khusus, robot DingTalk, robot WeChat Work, aplikasi WeChat Work, pushplus, iGot, Qmsg, XiZhi, PushDeer, Discord, OneBot, Telegram, dan banyak lagi .
Pengingat hangat: Untuk alasan keamanan, silakan gunakan semua metode push di sisi server ! Tolong jangan menggunakannya di klien (halaman web) !
Pengingat Ramah: Untuk alasan keamanan, semua metode push harus digunakan di sisi server ! Jangan gunakan di sisi klien (halaman web) !
Layanan push fungsi cloud dikembangkan berdasarkan push-all-in-one dan hono - push-all-in-cloud. Mendukung nodejs/docker/vercel dan metode penerapan lainnya, dan dapat diterapkan ke vercel dengan satu klik.
Pengingat pembaruan penting: versi push-all-in-one
v4 tidak kompatibel dengan v3 dan versi yang lebih rendah, silakan periksa CHANGELOG untuk mengetahui perubahannya.
PERUBAHAN TERUTAMA : Versi push-all-in-one
v4 tidak kompatibel dengan v3 dan versi yang lebih rendah. Silakan merujuk ke CHANGELOG untuk perubahan.
Disarankan untuk memodifikasinya sesuai dengan petunjuk tipe TypeScript.
Sarankan modifikasi sesuai dengan perintah tipe TypeScript.
https://github.com/CaoMeiYouRen/push-all-in-one#readme
https://github.com/CaoMeiYouRen/push-all-in-one/tree/master/examples
npm i push-all-in-one -S
Semua metode push mengimplementasikan send(title: string, desp?: string, options?: any):
.
title
adalah消息标题
, desp
adalah消息描述
, dan options
adalah额外推送选项
untuk metode push.
Tidak tahu cara mengatur konfigurasi? Silakan buka generator konfigurasi push-all-in-cloud untuk menghasilkan konfigurasi umum
push-all-in-one
danpush-all-in-cloud
secara online.
Contoh metode pemanggilan:
import { ServerChanTurbo , ServerChanV3 , CustomEmail , Dingtalk , WechatRobot , WechatApp , PushPlus , IGot , Qmsg , XiZhi , PushDeer , Discord , OneBot , Telegram , runPushAllInOne } from 'push-all-in-one'
// 通过 runPushAllInOne 统一调用
runPushAllInOne ( '测试推送' , '测试推送' , {
type : 'ServerChanTurbo' ,
config : {
SERVER_CHAN_TURBO_SENDKEY : '' ,
} ,
option : {
} ,
} )
// Server酱·Turbo。官方文档:https://sct.ftqq.com/r/13172
const SCTKEY = 'SCTxxxxxxxxxxxxxxxxxxx'
const serverChanTurbo = new ServerChanTurbo ( {
SERVER_CHAN_TURBO_SENDKEY : SCTKEY ,
} )
serverChanTurbo . send ( '你好' , '你好,我很可爱 - Server酱·Turbo' , { } )
// 【推荐】Server酱³
// Server酱3。官方文档:https://sc3.ft07.com/doc
const SERVER_CHAN_V3_SENDKEY = 'sctpXXXXXXXXXXXXXXXXXXXXXXXX'
const serverChanV3 = new ServerChanV3 ( {
SERVER_CHAN_V3_SENDKEY ,
} )
serverChanV3 . send ( '你好' , '你好,我很可爱 - Server酱³' , { } )
// 【推荐】自定义邮件,基于 nodemailer 实现,官方文档: https://github.com/nodemailer/nodemailer
const customEmail = new CustomEmail ( {
EMAIL_TYPE : 'text' ,
EMAIL_TO_ADDRESS : '[email protected]' ,
EMAIL_AUTH_USER : '[email protected]' ,
EMAIL_AUTH_PASS : '123456' ,
EMAIL_HOST : 'smtp.qq.com' ,
EMAIL_PORT : 465 ,
} )
customEmail . send ( '你好' , '你好,我很可爱 - 自定义邮件' , { } )
// 【推荐】钉钉机器人。官方文档:https://developers.dingtalk.com/document/app/custom-robot-access
const DINGTALK_ACCESS_TOKEN = 'xxxxxxxxxxxxxxxxxx'
const DINGTALK_SECRET = 'SECxxxxxxxxxxxxxxxx'
const dingtalk = new Dingtalk ( {
DINGTALK_ACCESS_TOKEN ,
DINGTALK_SECRET ,
} )
dingtalk . send ( '你好' , '你好,我很可爱 - 钉钉机器人' , { msgtype : 'markdown' } )
// 企业微信群机器人。官方文档:https://developer.work.weixin.qq.com/document/path/91770
// 企业微信群机器人的使用需要两人以上加入企业,如果个人使用微信推送建议使用 企业微信应用+微信插件 推送。虽然需要配置的内容更多了,但是无需下载企业微信,网页端即可完成操作。
const WECHAT_ROBOT_KEY = 'xxxxxxxxxxxxxxxxxxxxxxx'
const wechatRobot = new WechatRobot ( {
WECHAT_ROBOT_KEY ,
} )
wechatRobot . send ( '你好,我很可爱- 企业微信群机器人' , '' , { msgtype : 'text' } )
// 【推荐】企业微信应用推送,官方文档:https://developer.work.weixin.qq.com/document/path/90664
// 微信插件 https://work.weixin.qq.com/wework_admin/frame#profile/wxPlugin
// 参数的介绍请参考:https://developer.work.weixin.qq.com/document/path/90665
// 支持 text 和 markdown 格式,但 markdown 格式仅可在企业微信中查看
const wechatApp = new WechatApp ( {
WECHAT_APP_CORPID : 'wwxxxxxxxxxxxxxxxxxxxx' ,
WECHAT_APP_AGENTID : 10001 , // 请更换为自己的 AGENTID
WECHAT_APP_SECRET : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ,
} )
wechatApp . send ( '你好,我很可爱 - 企业微信应用推送' , '' , {
msgtype : 'text' ,
touser : '@all' ,
} )
// pushplus 推送,官方文档:https://www.pushplus.plus/doc/
const PUSH_PLUS_TOKEN = 'xxxxxxxxxxxxxxxxxxxxx'
const pushplus = new PushPlus ( { PUSH_PLUS_TOKEN } )
pushplus . send ( '你好' , '你好,我很可爱 - PushPlus' , {
template : 'html' ,
channel : 'wechat' ,
} )
// iGot 推送,官方文档:http://hellyw.com/#/
const I_GOT_KEY = 'xxxxxxxxxx'
const iGot = new IGot ( { I_GOT_KEY } )
iGot . send ( '你好' , '你好,我很可爱 - iGot' , {
url : 'https://github.com/CaoMeiYouRen/push-all-in-one' ,
topic : 'push-all-in-one' ,
} )
// Qmsg 酱 推送,官方文档:https://qmsg.zendee.cn
const QMSG_KEY = 'xxxxxxxxxxxx'
const qmsg = new Qmsg ( { QMSG_KEY } )
qmsg . send ( '你好,我很可爱 - Qmsg' , '' , {
type : 'send' ,
qq : '123456,654321' ,
} ) // msg:要推送的消息内容;qq:指定要接收消息的QQ号或者QQ群,多个以英文逗号分割,例如:12345,12346
// 息知 推送,官方文档:https://xz.qqoq.net/#/index
const XI_ZHI_KEY = 'xxxxxxxxxxxxx'
const xiZhi = new XiZhi ( { XI_ZHI_KEY } )
xiZhi . send ( '你好' , '你好,我很可爱 - XiZhi' )
// PushDeer 推送,官方文档:https://github.com/easychen/pushdeer
const PUSH_DEER_PUSH_KEY = 'xxxxxxxxxx'
const pushDeer = new PushDeer ( { PUSH_DEER_PUSH_KEY } )
pushDeer . send ( '你好' , '你好,我很可爱 - PushDeer' , {
type : 'markdown' ,
} )
// 【推荐】Discord Webhook 推送,官方文档:https://support.discord.com/hc/zh-tw/articles/228383668-%E4%BD%BF%E7%94%A8%E7%B6%B2%E7%B5%A1%E9%89%A4%E6%89%8B-Webhooks-
// [Recommended] Discord Webhook push. Official documentation: https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
const DISCORD_WEBHOOK = 'https://discord.com/api/webhooks/xxxxxxxxxxxxxxxxxxxxxxxxxxx'
const DISCORD_USERNAME = 'My Bot'
const PROXY_URL = 'http://127.0.0.1:8101'
const discord = new Discord ( { DISCORD_WEBHOOK , PROXY_URL } )
// Discord 也支持以下方式添加代理地址
// Discord also supports adding proxy addresses in the following ways
// discord.proxyUrl = 'http://127.0.0.1:8101'
discord . send ( '你好,我很可爱 - Discord' , '' , {
username : DISCORD_USERNAME ,
} )
// 【推荐】Telegram Bot 推送。官方文档:https://core.telegram.org/bots/api#making-requests
// [Recommended] Telegram Bot push. Official documentation: https://core.telegram.org/bots/api#making-requests
const telegram = new Telegram ( {
TELEGRAM_BOT_TOKEN : '111111:xxxxxxxxxxxxxx' ,
TELEGRAM_CHAT_ID : 100000 ,
// PROXY_URL: 'http://127.0.0.1:8101',
} )
// Telegram 也支持以下方式添加代理地址
// Telegram also supports adding proxy addresses in the following ways
// telegram.proxyUrl = 'http://127.0.0.1:8101'
telegram . send ( '你好,我很可爱 - Telegram' , '' , {
disable_notification : true ,
} )
// OneBot 推送。官方文档:https://github.com/botuniverse/onebot-11
// 本项目实现的版本为 OneBot 11
// 在 mirai 环境下实现的插件版本可参考:https://github.com/yyuueexxiinngg/onebot-kotlin
const ONE_BOT_BASE_URL = 'http://127.0.0.1:5700'
const ONE_BOT_ACCESS_TOKEN = 'xxxxxxxxxxx'
const oneBot = new OneBot ( { ONE_BOT_BASE_URL , ONE_BOT_ACCESS_TOKEN } )
oneBot . send ( '你好,我很可爱 - OneBot 11' , '' , {
message_type : 'private' ,
user_id : 123456789 ,
} )
Untuk contoh lebih lanjut, silakan lihat contoh
Dukungan agen
variabel lingkungan | memengaruhi | contoh |
---|---|---|
TIDAK_PROXY | Setel apakah akan menonaktifkan proksi | BENAR |
HTTP_PROXY | Setel proksi http/https | http://127.0.0.1:8101 |
HTTPS_PROXY | Setel proksi http/https | http://127.0.0.1:8101 |
SOCKS_PROXY | Atur proksi http/https melalui protokol kaus kaki/socks5 | kaus kaki://127.0.0.1:8100 |
Proyek ini mendukung proksi permintaan melalui variabel lingkungan
// 在 nodejs 项目中可通过直接设置环境变量来设置代理
process . env . HTTP_PROXY = 'http://127.0.0.1:8101' // 当请求是 http/https 的时候走 HTTP_PROXY
process . env . HTTPS_PROXY = 'http://127.0.0.1:8101' // 当请求是 http/https 的时候走 HTTPS_PROXY,HTTPS_PROXY 优先
process . env . SOCKS_PROXY = 'socks://127.0.0.1:8100' // 当 HTTP_PROXY 设置时走 SOCKS_PROXY
// process.env.NO_PROXY = true // 设置 NO_PROXY 可禁用代理
Variabel lingkungan dapat diatur secara manual pada baris perintah
set HTTP_PROXY= ' http://127.0.0.1:8101 ' # Windows
export HTTP_PROXY= ' http://127.0.0.1:8101 ' # Linux
cross-env HTTP_PROXY= ' http://127.0.0.1:8101 ' # 通过 cross-env 这个包来跨平台
Proyek ini dikembangkan menggunakan TypeScript dan dikemas menggunakan tsup, yang dapat mengimplementasikan petunjuk tipe dengan sempurna dan modul yang tidak digunakan akan dihapus selama tahap kompilasi.
npm run dev
Proyek ini menggunakan paket debug
untuk melakukan debug. Jika Anda ingin mengaktifkan debugging, atur variabel lingkungan ke DEBUG=push:*
, misalnya
cross-env DEBUG=push: * NODE_ENV=development ts-node-dev test/index.test.ts # 因为一些原因该文件未上传,可自行编写测试用例
npm run build
npm run lint
npm run commit
CaoMeiYouRen
Jangan ragu untuk berkontribusi, mengajukan pertanyaan, atau menyarankan fitur baru!
Jika Anda memiliki pertanyaan, silakan periksa halaman masalah.
Untuk berkontribusi atau mengusulkan fitur baru, lihat panduan berkontribusi.
Selamat berkontribusi, mengajukan pertanyaan, atau mengusulkan fitur baru!
Jika Anda memiliki pertanyaan, silakan periksa halaman masalah.
Untuk kontribusi atau proposal fitur baru, silakan lihat panduan berkontribusi.
Jika menurut Anda proyek ini bermanfaat, silakan beri ️, terima kasih banyak.
Jika Anda merasa proyek ini bermanfaat, silakan beri ️. Terima kasih banyak.
Hak Cipta © 2022 CaoMeiYouRen.
Proyek ini berlisensi MIT.
README ini dibuat dengan ❤️ oleh cmyr-template-cli