add go-cqhttp Message push

This commit is contained in:
rainerosion 2021-06-27 21:23:32 +08:00
parent aea4bc0625
commit 4704d8c908

View File

@ -4,16 +4,16 @@
@Last modified by : y1ndan @Last modified by : y1ndan
@Last modified time : 2021-01-13 11:01:10 @Last modified time : 2021-01-13 11:01:10
''' '''
import base64
import hashlib
import hmac
import json import json
import os import os
import time import time
import hmac from urllib import parse
import hashlib
import base64
import requests import requests
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from urllib import parse
from settings import log from settings import log
@ -121,6 +121,20 @@ class Notify(object):
# 注: Github Actions用户请到Settings->Secrets里设置,Name=PUSH_PLUS_USER,Value=<获取的值> # 注: Github Actions用户请到Settings->Secrets里设置,Name=PUSH_PLUS_USER,Value=<获取的值>
PUSH_PLUS_USER = '' PUSH_PLUS_USER = ''
# ============================== go-cqhttp ====================================
# 官方文档https://docs.go-cqhttp.org/guide/quick_start.html#使用
# GO_CQHTTP_URL 服务器地址
# GO_CQHTTP_TOKEN 你的token
# GO_CQHTTP_GROUP 参数
# GO_CQHTTP_API 接口名
GO_CQHTTP_URL = ''
GO_CQHTTP_TOKEN = ''
GO_CQHTTP_GROUP_NO = ''
GO_CQHTTP_API = ''
if os.environ.get('PUSH_PLUS_TOKEN', '') != '': if os.environ.get('PUSH_PLUS_TOKEN', '') != '':
PUSH_PLUS_TOKEN = os.environ['PUSH_PLUS_TOKEN'] PUSH_PLUS_TOKEN = os.environ['PUSH_PLUS_TOKEN']
if os.environ.get('PUSH_PLUS_USER', '') != '': if os.environ.get('PUSH_PLUS_USER', '') != '':
@ -314,6 +328,27 @@ class Notify(object):
log.info('您未配置pushplus推送所需的PUSH_PLUS_TOKEN,取消pushplus推送') log.info('您未配置pushplus推送所需的PUSH_PLUS_TOKEN,取消pushplus推送')
pass pass
def cqhttp(self, text, status, desp):
if Notify.GO_CQHTTP_URL != '':
url = '{}{}'.format(Notify.GO_CQHTTP_URL, Notify.GO_CQHTTP_API)
data = {
'access_token': Notify.GO_CQHTTP_TOKEN,
'message': '{} {}\n\n{}'.format(text, status, desp),
'group_id': Notify.GO_CQHTTP_GROUP_NO
}
try:
response = self.to_python(requests.get(url, params=data).text)
except Exception as e:
log.error(e)
raise HTTPError
else:
if response['status'] == 'ok':
log.info('go-cqhttp推送成功')
else:
log.error('go-cqhttp推送失败:\n{}'.format(response))
else:
log.info('您未配置go-cqhttp推送所需的GO_CQHTTP_URL,取消go-cqhttp推送')
pass
def send(self, **kwargs): def send(self, **kwargs):
app = '原神签到小助手' app = '原神签到小助手'
status = kwargs.get('status', '') status = kwargs.get('status', '')
@ -332,6 +367,7 @@ class Notify(object):
self.wwBot(app, status, msg) self.wwBot(app, status, msg)
self.iGot(app, status, msg) self.iGot(app, status, msg)
self.pushPlus(app, status, msg) self.pushPlus(app, status, msg)
self.cqhttp(app, status, msg)
if __name__ == '__main__': if __name__ == '__main__':