from logging import exception
import time
import pymysql
import datetime;
from utils.http_utils import *;
from model.msg_wx_model import *;
from threading import Timer
appid = "wx*****";
appsecret = "****";
template_id = '9uWUl0evW9o5Q5KPbZaa4WxpXOsHN9V28vWPG2T**' #模板id
token = "";
#查找公众号所有的粉丝
def findUser():
url = f"https://api.weixin.qq.com/cgi-bin/user/get?access_token={token}&next_openid=";
result = httpGet(url,"");
print(result);
for row in result["data"]["openid"]:
print(row);
url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + token + "&openid=" + row;
jsonText = httpGet(url,"");
print(jsonText);
pass;
#指定粉丝发送模板消息
def send(userId, content):
list = content.split('|');
first = list[0]
k1=list[1];
k2=list[2];
k3=list[3];
k4=list[4];
k5=list[5];
remark = list[6];
jsonstr = "{'first':{ "
f" 'value':'{first}',"
" 'color':'#173177'"
"},"
"'keyword1': {"
f" 'value':'{k1}',"
" 'color':'#173177'"
"},"
"'keyword2': {"
f" 'value':'{k2}',"
" 'color':'#173177'"
"},"
"'keyword3': {"
f" 'value':'{k3}',"
" 'color':'#173177'"
"},"
"'keyword4': {"
f" 'value':'{k4}',"
" 'color':'#173177'"
"},"
"'keyword5': {"
f" 'value':'{k5}',"
" 'color':'#173177'"
"},"
"'remark':{"
f" 'value':'{remark}',"
" 'color':'#173177'"
"}}";
jsonstr = jsonstr.replace("'", """)
body = "{" + f'"touser":"{userId}", "template_id": "{template_id}", "url":"#", "data":{jsonstr}' + "}";
data = json.loads(body);
url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token;
result = httpPost(url, data , "");
print(result);
def getToken():
print("获取token...")
url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + appsecret;
result = httpGet(url,"");
print(result);
global token;
token = result["access_token"];
#Timer(60*60, getToken).start()
def sendMsg():
now = datetime.datetime.now()
ts = now.strftime('%Y-%m-%d %H:%M:%S')
conn1 = pymysql.connect(host="xx.xx.xx.xx",port=3306,user="root",passwd="xxx",db="sxty_data" )
cursor1 = conn1.cursor()
print(ts + " 获取消息任务")
sql = "select to_user,content,id from msg_wx where state = 0 "
#print(sql)
cursor1.execute(sql)
data1 = cursor1.fetchall()
#print(data1);
for row in data1:
userId = row[0];
content = row[1];
msgId = row[2];
send(userId,content);
msg = MsgWxModel();
msg.cursor = cursor1;
msg.conn = conn1;
msg.id = msgId;
msg.state = 1;
msg.send_date = ts;
msg.update();
cursor1.close();
conn1.close();
#获取token
def job0():
try:
getToken();
except Exception as reason:
print(reason)
pass;
Timer(60*60, job0).start();
#发送消息
def job1():
try:
sendMsg();
except Exception as reason:
getToken();
print(reason)
Timer(5, job1).start();
print("消息服务已启动...")
job0();
job1();
#findUser();
原文地址:https://blog.csdn.net/gdgztt/article/details/134725607
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_34408.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。