这次实现了公众号的基本功能:关注回复、关键词回复、消息回复#订阅后回复@robot.subscribedefsubscribe():return"\*\*\*欢迎关注公众号\[开心\]\[开心\]\[开心\]\*\*\*\\n"\\"\*\*\*输入任意内容开始和我聊天!\\n"\\"\*\*\*输入'博客'关注我的博客!\\n"\\"\*\*\*输入'音乐'发送舒缓的歌曲!\\n"#关键词博客回复@robot.filter('blog')defblog(message):reply=ArticlesReply(message=message)article=Article(title="Python数据分析实战",description="我个人博客",img="https://werobot.readthedocs.io/zh\_CN/latest/\_static/qq.png",url="https://www.jianshu.com/u/bdf11cce83a1")回复。add\_a??rticle(article)returnreply#接收消息回复@robot.textdefreplay(msg):#print(msg.content)#curtime=time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time()))#response=get\_response(msg.content)#print(#curtime+'公众号(robot)'+':'+response)#returnresponsereturn"此功能待处理,敬请期待"@robot.subscribe:订阅reply:when用户订阅公众号回复内容@robot.filter('blog')关键词回复:即用户输入关键词时回复的内容@robot.text回复接收消息:当用户回复文字没有命中关键词时,回复内容为我们知道最常用的功能是关键字回复,但是通过过滤关键字回复:每添加一个关键字功能,就必须添加对应的路由。这种方式会导致我们的路由函数关键字过多,不方便处理。关键字回复的统一处理我们可以接收消息回复,接收用户消息,回复文本内容,首先检查是否是关键字,如果是关键字,则回复关键字内容,如果不是,则回复其他内容。#文字智能回复@robot.textdefreplay(msg):#获取用户输入内容user\_text=msg.content#关键词检测和回复answer\_text=get\_code(user\_text)#answer非关键词回复\_textisNone:answer\_text=response\_text(user\_text).textreturnanswer\_text接收到的参数msg不是用户的直接内容,用户输入的内容是通过msg.content关键字检测和回复:世界\_list=\[{"key":\["20191210","公众号code"\],"values":"https://github.com/silencesmile/gzh\_code"},{"key":\["wavaudio","wav","python\_wav"\],"values":"https://github.com/silencesmile/python\_wav"},{"key":\["图像识别","AI","ai","人工智能"\],"values":"GitHub:https://github.com/silencesmile/TensorFlow-ResNet",},{"key":\["pyecharts"\],"values":"https://github.com/silencesmile/pyecharts.git"},{"key":\["好戏"\],"values":"https://github.com/silencesmile/movie\_Analyst.git"}}\]\#关键字检测并回复defget\_code(text):forkey\_worldsinworlds\_list:key\_list=key\_worlds.get("key")values=key\_worlds.get("values")iftextinkey\_list:返回值returnNone方便管理关键词回复,无需定义多条关键词路由,下期预告:接收图片以及如何回复处理后的图片
