目录
目录README.md

SoftBot开发

项目目标

实现原有bot功能并额外添加邮件通知功能,具体来说就是当项目出现新的PullRequest时触发BOT,开始持续监测项目,当发现24小时后还是没有解决PR就发邮件提醒项目的开发者

环境配置

  • 我用的是conda管理版本库,Python版本是3.11.7,需要的库用这个命令应该就可以
pip install -r requirements.txt
  • 项目中使用了mysql数据库,所以也需要自己安装一下,可以看这个安装教程,用户名和密码可以按照我的来
# 数据库相关配置
sql_user = 'root' # 数据库用户名
password = 'rootroot' # 数据库密码
  • 安装好后使用下面命令创建一个叫softbot库,这个得自己事先创建
CREATE DATABASE softbot;

现有文件作用

bot.py

  • get_pr_len(user, project)函数用于获取指定用户和项目的PR数量
  • get_pr_time(user, project)函数的作用是获取指定用户和项目的PR创建时间
  • get_email(user, project)函数用于获取用户邮箱,这个必须要登录才能获取,我保存了自己登录时候的cookie,实现了伪装登录状态

check.py

  • check_pr()函数的作用是检查PR是否超过24小时未被合并。如果有超过24小时未被合并的PR,它会发送一封邮件通知相关人员,并在数据库中将这个PR标记为已检查

config.py

  • 指定监测的用户名和项目名配置
  • 指定数据库的配置
  • 邮件服务器的配置

db.py

  • update_pr()函数的作用是更新数据库中的PR信息。它首先连接到数据库,然后获取指定用户和项目的PR数量

sendemail.py

  • send_email(receivers, subject, content)函数的作用是发送邮件

webhook.py

  • 使用Flask框架创建Python web服务器应用并定义了路由处理函数

有用的文档

关于

这是一个实验性质的项目,主要是构建了一个SoftBot智能机器人,该Bot主要监听项目创建的各个PR的状态,当一个PR长期未得到响应而处于不活跃状态时,Bot会及时进行自动评论提醒,以提醒项目核心团队关注该PR及时给予反馈,从而达到激发外围贡献者的开发积极性与热情的目的。

100.0 KB
邀请码