올인원으로 밀어보세요! 서버 소스(및 서버 소스³), 사용자 정의 이메일, DingTalk 로봇, 기업 WeChat 로봇, 기업 WeChat 애플리케이션, pushplus, iGot, Qmsg, Xizhi, PushDeer, Discord, OneBot, Telegram 및 기타 푸시 방법을 지원합니다.
푸시 올인원! 사용자 정의 이메일, DingTalk 로봇, WeChat Work 로봇, WeChat Work 애플리케이션, pushplus, iGot, Qmsg, XiZhi, PushDeer, Discord, OneBot, Telegram 등을 포함한 다양한 푸시 방법을 지원합니다. .
알림: 보안상의 이유로 서버 측 의 모든 푸시 방법을 사용하십시오! 클라이언트(웹페이지) 에서는 사용하지 마세요!
주의 사항: 보안상의 이유로 모든 푸시 방법은 서버 측 에서 사용해야 합니다. 클라이언트 측(웹 페이지) 에서는 사용하지 마세요!
push-all-in-one과 hono - push-all-in-cloud를 기반으로 개발된 클라우드 기능 푸시 서비스입니다. nodejs/docker/vercel 및 기타 배포 방법을 지원하며, 원클릭으로 vercel에 배포할 수 있습니다.
중요 업데이트 알림: push-all-in-one
v4 버전은 v3 이하 버전과 호환되지 않습니다. 변경 사항은 변경 로그를 확인하세요.
주요 변경 사항 : push-all-in-one
v4 버전은 v3 이하 버전과 호환되지 않습니다. 변경 사항은 변경 로그를 참조하세요.
TypeScript의 타입 힌트에 따라 수정하는 것이 좋습니다.
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
모든 푸시 메소드는 send(title: string, desp?: string, options?: any):
메소드를 구현합니다.
title
은消息标题
, desp
는消息描述
, options
푸시 방식에 대한额外推送选项
입니다. 자세한 내용은 각 푸시 채널의 참고 사항을 참조하세요.
구성을 설정하는 방법을 모르시나요?
push-all-in-one
및push-all-in-cloud
공통 구성을 온라인으로 생성하려면 푸시올인클라우드 구성 생성기로 이동하세요.
호출 방법의 예:
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 ,
} )
더 많은 예시는 예시를 참고해주세요
에이전트 지원
환경 변수 | 효과 | 예 |
---|---|---|
NO_PROXY | 프록시 비활성화 여부 설정 | 진실 |
HTTP_PROXY | http/https 프록시 설정 | http://127.0.0.1:8101 |
HTTPS_PROXY | http/https 프록시 설정 | http://127.0.0.1:8101 |
SOCKS_PROXY | 양말/socks5 프로토콜을 통해 http/https 프록시 설정 | 양말://127.0.0.1:8100 |
이 프로젝트는 환경 변수를 통한 요청 프록시를 지원합니다.
// 在 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 可禁用代理
환경 변수는 명령줄에서 수동으로 설정할 수 있습니다.
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 这个包来跨平台
이 프로젝트는 TypeScript를 사용하여 개발되었으며, 유형 힌트를 완벽하게 구현할 수 있는 tsup을 사용하여 패키징되었으며, 사용하지 않는 모듈은 컴파일 단계에서 제거됩니다.
npm run dev
이 프로젝트는 debug
패키지를 사용하여 디버깅을 활성화하려면 환경 변수를 DEBUG=push:*
로 설정합니다.
cross-env DEBUG=push: * NODE_ENV=development ts-node-dev test/index.test.ts # 因为一些原因该文件未上传,可自行编写测试用例
npm run build
npm run lint
npm run commit
카오메이유렌
자유롭게 참여하고, 질문하고, 새로운 기능을 제안해 주세요!
궁금한 점이 있으시면 이슈 페이지를 확인해 주세요.
새로운 기능에 기여하거나 제안하려면 기여 가이드를 확인하세요.
참여하고, 질문하고, 새로운 기능을 제안하는 것을 환영합니다!
궁금한 점이 있으시면 이슈 페이지를 확인해 주세요.
기여나 새로운 기능 제안에 대해서는 기여 가이드를 참조하세요.
이 프로젝트가 유용하다고 생각되면 ️을 눌러주세요. 정말 감사합니다.
이 프로젝트가 유용하다고 생각되면 ️을 눌러주세요.
저작권 © 2022 CaoMeiYouRen.
이 프로젝트는 MIT 라이선스를 받았습니다.
이 README는 cmyr-template-cli에 의해 ❤️으로 생성되었습니다.