python如何帮我在投资中获取更高收益 (2)

我想看数据的时候如何去看呢?去服务器上执行下脚本这方式太low了吧,借助微信机器人,就像你跟朋友聊天一样,发消息“最新数据”,那他就立即回复最新消息给你,这个方式看起来不错,实现完成后有几个朋友觉得不错,也想看数据,那我干脆将这些需要看数据的朋友都拉倒一个群里吧,回复消息群里所有用户都看得到很方便了,技术实现主要借助了itchat模块(itchat主要通过网页版微信接口处理数据,网页版微信很多用户无法登陆了,也就没有办法使用itchat),代码如下

import itchat from tdw_data_statistics_now import get_now_data # 处理好友消息 @itchat.msg_register(itchat.content.TEXT) def text_reply(msg): if msg['Text'].startswith('命令:'): message = msg['Content'].split('命令:')[1] msg.user.send('正在处理你的命令:%s' %(message)) if '最新数据' == msg['Text']: message = get_now_data() msg.user.send(message) # 处理群聊消息 @itchat.msg_register(itchat.content.TEXT, isGroupChat=True) def text_reply(msg): #itchat.send(u'@%s\u2005I received: %s' % (msg['ActualNickName'], msg['Content']), msg['FromUserName']) if '最新数据' == msg['Text']: message = get_now_data() msg.user.send(message) #message = getMessage() #itchat.send(message, toUserName='filehelper') itchat.auto_login(True, enableCmdQR=True) itchat.run(True) 微信公众号自动回复

设想一个应用场景,如果有很多人需要这个数据怎么处理呢?让他们都加一下我的微信或把他们都给加到一个群里固然可以,只是不够优雅,这里想到了微信公众号,当用户关注公众号后,回复“最新数据”可把最新数据自动回复给用户是不是就优雅很多了。然后就写了个机器人自动处理,主要借助werobot模块实现。

微信公众号可以配置为开发者模式,也就是开发者可以提供一个http接口,公众号会把收到的所有消息发送给开发者提供的接口,服务器接收到数据后判断数据类型,对数据做处理,这里需要用到web服务,所以引入Django

url

from django.urls import path from werobot.contrib.django import make_view from official.robot import robot urlpatterns = [ path('robot/', make_view(robot)), ]

机器人程序

# cat official/robot.py import re from werobot import WeRoBot from werobot.replies import ImageReply from official.backends.get_tdw_data import get_now_data robot = WeRoBot(enable_session=False, token='', APP_ID='', APP_SECRET='') # 新用户关注自动回复 @robot.subscribe def subscribe(message): return '''来了?坐,好戏马上开始 回复[最新数据]获取最新数据更新''' # 联系二维码,用户输入"联系"关键字回复作者二维码 @robot.filter(re.compile(".*?联系.*?")) def contact(message): return ImageReply( message=message, media_id="DBO8qVu-8bwNF9O7o8wCyRs4awfVTjA_WuPoLkj33B1C8ZX9JVdmw30zZo9l8ovx" ) # 处理文本消息 @robot.text def hello(message): try: msg = message.content.strip().lower() if re.compile("最新.*").match(msg): tdw_zx_now_data = get_now_data() if tdw_zx_now_data: return tdw_zx_now_data else: return '暂时无法获取数据,请稍后再试' else: return '请输入[ 最新数据 ]获取智享数据更新\n\n如有疑问可以回复[ 联系作者 ]与我联系' except Exception as e: print(e)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyydyp.html