小程序发送模板消息给用户 —— 一次性模板实现“长期订阅”
from wxpy import *
# 初始化机器人,确保已经获取了API接口的权限
bot = Bot(cache_path=True)
# 向用户发送一次性模板消息
def send_one_time_template(user, template_id, emphasis_keyword, page_url):
# 获取用户的UserName
user_name = user.raw.get('UserName', None)
if not user_name:
print("无法获取用户的UserName,无法发送模板消息")
return
# 构造模板消息的数据
data = {
"touser": user_name,
"template_id": template_id,
"page": page_url,
"data": {
"thing1": {
"value": emphasis_keyword,
"color": "#173177"
},
# 其他数据字段根据实际模板内容进行构造
}
}
# 发送模板消息
response = bot.session.post('https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=' + bot.token.get(), data=data)
if response.json().get('errcode') == 0:
print("模板消息已成功发送给用户")
else:
print("模板消息发送失败:", response.json())
# 示例用户
user = bot.friends().search('用户的微信名')[0]
# 示例模板ID、强调关键词和点击跳转的URL
template_id = "你的模板消息ID"
emphasis_keyword = "重要内容"
page_url = "http://yourwebsite.com/path/to/page"
send_one_time_template(user, template_id, emphasis_keyword, page_url)
这段代码使用了wxpy库来初始化一个机器人,并且定义了一个函数send_one_time_template
来发送一次性模板消息给用户。在发送前,它需要获取用户的UserName,然后构造模板消息的数据,并通过微信API发送给用户。如果发送成功,会打印相应的信息,如果失败则会打印错误信息。这个例子展示了如何使用微信API发送模板消息的基本过程。
评论已关闭