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