Page 47 - BP_202306
P. 47

二.改进思路                                                  mygroup='预警信息发布'

                       以前我们的做法是,收到上级部门在群内的预                                #群名称
                   警信息后,立即通过电话、短信的方式通知播控部                                  mylist=['陈某','江某','冯某']
                   值班人员,值班人员按照短信内容,在播控字幕机                                  #预警信息发布用户列表
                   上逐字输入,核对正确后再通过底飞游走字幕的方                                  bot = Bot(cache_path=True)
                   式将预警信息发布出去并重复播出,此方法需人工                                  # 初始化机器人,扫码登陆
                   手动输入,耗时较长易出错。后来我们架设了一台
                   WEB内网服务器,建立了一套信息发布系统,透过                                 @bot.register(Group,TEXT)
                   防火墙发布出去,以后再收到预警信息后,我们就                                  def print_group_msg(msg):
                   能通过手机登陆WEB服务器将信息登记,值班人员                                     print(msg.text)
                   可直接复制粘贴信息编入字幕播出表发布,操作时                                  if  msg.member.name  in  mylist  and
                   长由过去近二十分钟缩短到几分钟以内,效率大为                             mygroup inmsg.sender.name:
                   提高。                                                     #如果群名和用户都符合条件
                       但是也还存在一定的问题,中间环节较多,而                                headers={'content-type':  'application/
                   预警信息不分白天黑夜,随时都有可能发布,如未                             x-www-form-urlencoded'}
                   及时关注,极有可能造成信息滞留,能否编写一个                                  payload = {'username':'转发助手','text':msg.
                   程序代替人工自动完成预警信息转发过程?                                text }
                       具体思路是:程序常驻运行,当接受到群消                                 data_gb2312  =  urlencode(payload,
                   息后,判断发送者是否属于预警信息发布用户,                              encoding='gb2312')
                   如是则将消息转发到WEB服务器。为实现这一功                                  # 构造提交数据:
                   能,笔者采用Python语言来编写,Python是一                               respond=r.post('http://219.139.*.*/add.asp',
                   种跨平台、解释型、面向对象语言,近年来较为流                                  data=data_gb2312,headers=headers)
                   行,广泛应用于数据分析、自动化处理、人工智能                                  print(respond.text.encode('iso-8859-1').
                   等领域,并且拥有丰富的标准库,方便程序员快速                             decode('gbk'))
                   开发。                                                     print(respond.encoding)
                                                                           # 输出响应结果
                   三.程序代码实现

                       下面就是程序的主要实现代码和注释,程序中                                embed()
                   涉及到库包含wxpy微信模块等,可通过pip install                          #堵塞线程以保持监听状态。
                   安装。
                                                                      四.进一步的打算

                       from wxpy import *                                  如果条件允许,将来还可以做到全自动发布到
                       #导入微信库                                         电视播出、微博、微信公众号等,但前提是做好安
                       import requests                                全审核工作,一种解决方法是参照以前所有历史数
                       #导入Http库                                       据生成一个字典文件,预警信息内容如果不包含在
                       from urllib.parse import urlencode             字典文件里面就进入人工审核环节,如果包含在字
                       r = requests.Session()                         典文件里面就允许进入自动发布,真正做到秒级响
                       # 建立一个会话,并保持cookie                             应发布。



                                                                                                 《传播与制作》2023 年第 06 期  47
   42   43   44   45   46   47   48   49   50   51   52