Vaskka / SCU_DormitoryElectricityAlertRobot

基于微信web,川大寝室电费预警机器人。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SCU_DormitoryElectricityAlertRebot

基于微信web,川大寝室电费预警机器人Elen。

简介

由于川大江安校区的寝室停电前不会有任何形式的提醒,导致作者寝室的台式机经历了无数次的掉电。忍无可忍下作者决定自食其力,完成了此项目的alpha版本,并开源与此。本项目可以构建一个只需要微信账号和川大在校师生的学工信息*(启动时手动输入,本项目不提供任何账户信息)*即可运行的电费查询和预警机器人。经过简单的配置后本项目可以部署在任何云服务器甚至开发PC上为您提供服务,具体的配置下面会详细介绍。

本项目利用微信的社交属性,在新版本将机器人的定位设置为一个“公共服务平台”。即服务启动后,任何加这个小机器人好友的用户都可以通过注册来获取定制化的电费提醒。任何微信账户均可运行Elen,运行后便可以为任何川大师生提供服务,具体的流程在下面会介绍到。

功能

由于基于微信平台,因此所有功能需要添加Elen为微信好友为前提。

  • 指令功能
    • 查询有效的校区围合单元名,
      • 输入“有效校区”,返回川大三个有效校区的名字,用于注册时绑定寝室
      • 输入“%校区名%-有效围合”,返回指定校区的全部有效的围合名,用于注册时绑定寝室。
      • 输入“%校区名%-%围合名%-有效单元”,返回指定校区,指定围合的全部有效单元名,用于注册时绑定寝室。
      • 需要将上面诸如“%xxx%”的部分整体替换为相应的地点,例如:江安校区-西园7舍-有效单元
      • 以上三个指令若没有查到有效的结果或指令的语法有问题会给出提示,并引导正确指令格式。
    • 输入“help”,返回全部指令的帮助信息和功能简介。
    • 输入“注册#校区名#围合名#单元名#房间号#子房间号“进行注册,注册后便可以获得电费查询和低电费提醒功能。
    • 输入“查询电费, 查询电量, 查电费, 查电量, 剩余电费, 剩余电量”其中任意一个,即可查询绑定寝室的电量值,若用户未注册,会提示先注册。
  • 非指令功能
    • 除了上述功能外的其他发送给Elen的消息,会利用图灵机器人提供的API进行对话,并提示输入”help“返回指令帮助。
    • 已经注册的用户系统会每3小时检查一次系统全部注册用户的电量,若低于5度电便会通过微信消息提醒注册的用户。

以上介绍的指令关键字和静态文字均可以通过改变setting.py中的字段进行随意更改,定制化自己的Elen(甚至是新的名字)

环境配置

Elen可以部署在任何云或开发PC中*(Thanks to wechat open ability.)*。推荐配置在云上,几乎不需要考虑断电或关机的问题,比较方便一些。

云环境与开发PC的公共环境

  1. python3,依赖模块:
  1. mongodb

云环境的附加小工具(非必须)

为保证长时间运行在linux系统中,可以用nohup指令或在tmux等工具中运行Elen,具体操作此处不详细介绍,教程比较多。

运行

# 不支持图形界面的操作系统运行,例如云环境中
python3 src/main/access.py --console true &

# 支持图形界面的操作系统运行,例如开发PC中
python3 src/main/access.py --console false &

运行后会在显示一张二维码,利用一个微信账号扫描这个二维码即可将Elen部署在这个微信账号中,随后根据提示输入mongodb用户名密码(mongodb未开启auth模式可输入任意),输入SCU有效的学工号和密码,Elen即可运行。

About

基于微信web,川大寝室电费预警机器人。

License:MIT License


Languages

Language:Python 100.0%