python调用图灵机器人实现微信公众号的自动回复功能(下)

​图灵机器人接口调用限制的解决

昨天我们的文章中说到:使用图灵机器人作为应答机器人可以满足要求,但是每天的回复条数在不花钱的情况下只能有100条。对于我这样贫困线人口怎么可能每个月花费99元就为了自动回复呢。于是我就在想还有没有其它的方式能够快速做一个请求和应答表呢?
结合我之前工作上的经验,那我理解就是直接将请求语句的关键词和需要的回复放在一个Excel表格中,然后直接通过查询Excel表格这样也能做到自动回复,说干就干。整个流程如下图:
在这里插入图片描述

从流程图上看我们还是在昨天的整体框架上新增后续的容错处理,一旦检测到图灵机器人API请求已用完之后,我们便启动我们的容错机制,在我们的Excel表格中去查找我们需要返回的内容,若没有找到的话,我们就直接返回一个固定语句告诉粉丝朋友,我们现在可能没有听懂。

整体已经说完了,接下来我们就开始实干了。首先我们需要去读取一个Excel表格,我使用的是xlrd这个库(一样啊,安装方法参考之前的python学习三——库安装),由于之前我们已经整理了一个Excel表格的读写模块——ReadAndWriteExcel.py,所以在这里我直接将这个模块拿过来调用就好了,具体代码见下:

#   _*_coding=utf-8_*_
import xlwt
import xlrd

class WriteExcel:
    def __init__(self, sheet_name=None):
        """初始化写表格对象
​
        :param sheet_name: 写表格的sheet名,默认为1
        """
        if sheet_name:
            self.sheetname = sheet_name
        else:
            self.sheetname = "1"
        self.workbook = xlwt.Workbook()
        self.worksheet = self.workbook.add_sheet(sheetname=self.sheetname)def write_values(self, row, col, values):
        """向目标sheet的某个行列写入值​
        :param row: 目标行
        :param col: 目标列
        :param values: 想要写入的值
        """
        self.worksheet.write(row, col, values)def save_file(self, filename=None):
        """保存表格
        :param filename: 保存的文件名
        """
        if filename:
            self.filename = filename
        else:
            self.filename = "test.xls"
        self.workbook.save(self.filename)
class OpenExcel:
    def __init__(self, file_name=None, sheet_id=None):
        """初始化读取Excel表格
​
        :param file_name: 需要读取的表格名
        :param sheet_id: 需要读取的表格sheet
        """
        if file_name:
            self.file_name = file_name
            self.sheet_id = sheet_id
        else:
            self.file_name = 'example.xlsx'
            self.sheet_id = 0
        self.data = self.get_data()
    def get_data(self):
        """读取表格数据
​
        :return: 返回读取的表格数据
        """
        data = xlrd.open_workbook(self.file_name)
        tables = data.sheets()[self.sheet_id]
        return tables
​
    def get_lines(self):
        """读取表格总行数
​
        :return: 返回表格总行数
        """
        tables = self.data
        return 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟小白的学习分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值