消息推送服务

Service酱

直达官网 (service酱最新支持一对多推送(PushBear),暂未验证)

使用步骤:

  1. 登入:用GitHub账号登入网站,就能获得一个SCKEY(在「发送消息」页面)
  2. 绑定:点击「微信推送」,扫码关注同时即可完成绑定
  3. 发消息:往 http://sc.ftqq.com/SCKEY.send发GET请求,就可以在微信里收到消息啦



Push+

直达官网

使用步骤

  1. 登入:用微信扫码登入网站,就能获得一个[Token]
  2. 一堆一推送:往http://pushplus.hxtrip.com/send发送GET或POST请求
  3. 一堆多推送:
    • 新增群组:创建名称和编码
    • 生成群组二维码:订阅用户扫描二维码加入群组
    • http://pushplus.hxtrip.com/send发送GET或POST请求(请求体注意加入群组编码)



Bark

GitHub / V2EX / Blog

使用步骤

  1. 相关下载
    • ios版App:Bark
    • Chrome插件:Bark-Chrome-Extension
    • Chrome插件:Bark-Chrome-Extension 自动复制版
    • Windows推送客户端
  2. 打开 APP 查看推送 URL(https://api.day.app/YourKey) 后 ,可以发 get 或者 post 请求 ,请求成功会立即收到推送
    • URL 组成: 第一个部分是 key , 之后有三个匹配
      • /:key/:body
      • /:key/:title/:body
      • /:key/:category/:title/:body
  3. category 另外的功能占用的字段,还没开放 忽略就行

功能说明:

  1. 使用automaticallyCopy参数,将内容直接复制到粘贴。
    • 直接复制msg:https://api.day.app/YourKey/复制的内容?automaticallyCopy=1
    • 复制指定内容:https://api.day.app/YourKey/验证码为:8888?automaticallyCopy=1©=8888
  2. 推送URL
    • 发送时,URL参数需要编码:https://api.day.app/YourKey/百度网址?url=https://www.baidu.com
  3. 使用isArchive字段保存历史记录(可在App端设置)
    • 测试URL:https://api.day.app/YourKey/需要保存的推送?isArchive=1



飞书-机器人

飞书开放平台 / 飞书机器人

使用步骤:

  1. 登录飞书 ,注册企业
  2. 下载并登录飞书PC客户端,点击群聊 - 设置 - 群机器人 - 添加机器人 - 添加Custom Bot - 输入名称/描述 - 安全设置:建议使用加签方式
    • 关键字:最多可以设置10个关键词,消息中至少包含其中1个关键词才可以发送成功。
    • 加签:根据加签秘钥计算出timestamp和sign值
      package main
      import(
         "fmt"
         "time"
         "crypto/hmac"
         "crypto/sha256"
         "encoding/base64"
      )
      
      func main() {
          fmt.Println("------------------start------------------")
          timestamp := time.Now().Unix()
          fmt.Println("time:",timestamp)
          secret := "kcF5jGSEVoEcHAt2D9hycf"
          stringToSign := fmt.Sprintf("%v", timestamp) + "\n" + secret
          // fmt.Println("stringToSign:",stringToSign)
          var data []byte
          h := hmac.New(sha256.New, []byte(stringToSign))
          _, err := h.Write(data)
          if err != nil {
              fmt.Println("err:",err)
          }
          signature := base64.StdEncoding.EncodeToString(h.Sum(nil))
          fmt.Println("signature:",signature)
      }
      
    • IP白名单:只有来自IP地址范围内的请求才会被正常处理。支持两种设置方式:IP、IP段,暂不支持IPv6地址白名单
# Post请求(注意替换url中的your_access_token)
# url:https://open.feishu.cn/open-apis/bot/v2/hook/your_access_token

# Header:
# Content-Type:application/json

# Body:
// 开启签名验证后发送文本消息  
{  
      "timestamp": "1599360473",  
        "sign": "xxxxxxxxxxxxxxxxxxxxx",  
        "msg_type": "text",  
        "content": {  
                "text": "签到提醒"  
        }  
}

# Response
{
    "Extra": null,
    "StatusCode": 0,
    "StatusMessage": "success"
}




飞书-团队消息推送

飞书开放平台

使用步骤:

  1. 首先登陆飞书开放平台,点击创建企业自建应用,并输入应用名称应用副标题,然后点击确定创建,并记录 App IDApp Secret
  2. 登录飞书客户端,创建团队

开发步骤:

  1. 获取访问凭据:获取tenant_access_token值:开发文档
# Post请求
# url:https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/

# Header:
# Content-Type:application/json

# Body
{
"app_id":"cli_slkdjalasdkjasd",
"app_secret":"dskLLdkasdjlasdKK"
}

# Response
{ 
"code":0, 
"msg":"ok", 
"tenant_access_token":"your_token", 
"expire":7200 // 过期时间,单位为秒(两小时失效) 
}
  1. 发送文本消息:根据获取的tenant_access_token发送消息:开发文档 / 获取群列表
# Post请求(注意替换url中的token)
# url:https://open.feishu.cn/open-apis/message/v4/send/

# Header:
# Content-Type:application/json
# Authorization:Bearer your_token

# Body:
# 注:文本消息内容,文本消息中可以 at 个人或 at 全体成员
#   at 全体成员:   at 个人:,
#   user_id 为用户 user_id或者open_id
{ 
"open_id":"ou_5ad573a6411d72b8305fda3a9c15c70e", 
"root_id":"om_40eb06e7b84dc71c03e009ad3c754195", 
"chat_id":"oc_5ad11d72b830411d72b836c20", 
"user_id": "92e39a99",
"email":"[email protected]", "msg_type":"text", 
"content":
    { 
    "text":"此处为发送的消息" 
    } 
}

# Response
{ 
"code": 0, 
"msg": "ok", 
"data":
    { 
    "message_id": "om_92eb70a7120ga8c3ca56a12ee9ba7ca2" 
    } 
}

.



钉钉-机器人

钉钉开放平台 / 钉钉机器人

使用步骤:

  1. 登录钉钉 ,注册企业
  2. 下载并登录钉钉PC客户端,点击头像 - 机器人管理 - 添加自定义 - 输入名称/选择分组/安全设置:建议使用加签方式
    • 关键字:最多可以设置10个关键词,消息中至少包含其中1个关键词才可以发送成功。
    • 加签:根据加签秘钥计算出timestamp和sign值,拼接成最终url:http://xxx?access_token=XXX×tamp=XXX&sign=XXX
      import  time
      import  hmac
      import  hashlib
      import  base64
      import  urllib.parse
      def  create_sign():
          timestamp  =  str(round(time.time() *  1000))
          secret  =  'this is secret'
          secret_enc  =  secret.encode('utf-8')
          string_to_sign  =  '{}\n{}'.format(timestamp, secret)
          string_to_sign_enc  =  string_to_sign.encode('utf-8')
          hmac_code  =  hmac.new(secret_enc, string_to_sign_enc,
          digestmod=hashlib.sha256).digest()
          sign  =  urllib.parse.quote_plus(base64.b64encode(hmac_code))
          key  =  "×tamp="+timestamp+"&sign="+sign
          print(key)
          return key
      
    • IP白名单:只有来自IP地址范围内的请求才会被正常处理。支持两种设置方式:IP、IP段,暂不支持IPv6地址白名单
# Post请求(注意替换url中的your_access_token)
# url:https:https://oapi.dingtalk.com/robot/send?access_token=your_access_token

# Body:
{  
"msgtype":"text",  
"text":
    {  
    "content":"监控报警:请检查服务器日志"  
    },  
"at":{  
    "atMobiles":
    [  
    "156xxxx8827",  
    "189xxxx8325"  
    ],  
    "isAtAll":false  
    }  
}

# Response
{
    "errcode": 0,
    "errmsg": "ok"
}




钉钉-团队消息推送

钉钉开放平台

使用步骤:

  1. 首先登陆钉钉开放平台(需注册团队和认证开发者)
  2. 选择 应用开发 - 企业内部应用开发 - H5微应用 - 创建应用
  3. 创建应用后,在应用管理中设置服务器出口IP应用首页地址

开发步骤:

  1. 获取凭据:获取access_token值:API Explorer / 开发文档
# Get请求(注意替换url中的appkey和appsecret)
# url:https://oapi.dingtalk.com/gettoken?appkey=your_appkey&appsecret=your_appsecret
# Response
{
    "errcode":0,
    "access_token":"your token",
    "errmsg":"ok",
    "expires_in":7200
}
  1. 消息通知:根据获取的access_tokenagent_id发送消息:API Explorer / 开发文档
# Post请求(注意替换url中的token)
# url:https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=your_access_token

# Body:
# 注:to_all_user为true时,表示给所有用户发送消息(每日三次)
#   如只想给部分用户推送,请设置userIdList或deptIdList(用户或部门)
{
    "msg":{
        "msgtype":"text",
        "text":{
            "content":"新的通知消息"
        }
    },
    "dept_id_list":"a4,a5,a6",
    "to_all_user":"false",
    "agent_id":1043334433,
    "userid_list":"a1,a2,a3"
}

# Response
{
    "errcode":0,
    "errmsg":"ok",
    "task_id":301113317047,
    "request_id":"4gaekiuyl389"
}

注意:

  • 同一个应用相同消息的内容同一个用户一天只能接收一次。
  • 同一个应用给同一个用户发送消息,企业内部应用一天不得超过500次。
  • 通过设置to_all_user参数全员推送消息,一天最多3次。
  • 超出以上限制次数后,接口返回成功,但用户无法接收到。详细的限制说明,请参考工作通知消息限制。
  • 该接口是异步发送消息,接口返回成功并不表示用户一定会收到消息,需要通过获取工作通知消息的发送结果接口查询是否给用户发送成功。
  • 消息类型和样例可参考消息类型与数据格式。



IGot聚合推送

Gitee / GitHub

使用步骤:

  1. 微信搜索iGot小程序,点击进入小程序
  2. 进入小程序 - 我的 - 推送管理 - 绑定微信公众号 / 绑定Bark
  3. 访问https://push.hellyw.com/your_key/title/content进行推送

注:

  • 如需在pc端查看发送的消息,进入Gitee下载mac或windows客户端
  • 建议关闭小程序 - 我的 - 实验性功能 - 剪贴板备份



Telegram

直达官网

使用步骤:

  1. 首先在Telegram上搜索BotFather机器人,创建新机器人并获得Token
    • 使用 /newbot 命令创建新的机器人
    • 设置机器人名称。(如:签到通知)
    • 设置机器人用户名。(如:sign_in_bot)
    • 设置完成后,点击t.me/sign_in_bot进入机器人对话页面,才能收到后续通知
  2. 在Telegram上搜索getuserIDbot机器人,获取UserID。

发出请求 参考开发文档

对Telegram Bot API的所有查询都必须通过HTTPS进行,并且需要以以下形式呈现:https://api.telegram.org/bot/METHOD_NAME。例如:https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getMe

注:由于没有VPS服务器,暂未验证其有效性



你可能感兴趣的:(消息推送服务)