Merge pull request ‘最终代码’ (#6) from dev_kangkang into master
实现原有bot功能并额外添加邮件通知功能,具体来说就是当项目出现新的PullRequest时触发BOT,开始持续监测项目,当发现24小时后还是没有解决PR就发邮件提醒项目的开发者
pip install -r requirements.txt
# 数据库相关配置 sql_user = 'root' # 数据库用户名 password = 'rootroot' # 数据库密码
softbot
CREATE DATABASE softbot;
get_pr_len(user, project)
get_pr_time(user, project)
get_email(user, project)
check_pr()
update_pr()
send_email(receivers, subject, content)
这是一个实验性质的项目,主要是构建了一个SoftBot智能机器人,该Bot主要监听项目创建的各个PR的状态,当一个PR长期未得到响应而处于不活跃状态时,Bot会及时进行自动评论提醒,以提醒项目核心团队关注该PR及时给予反馈,从而达到激发外围贡献者的开发积极性与热情的目的。
SoftBot开发
项目目标
实现原有bot功能并额外添加邮件通知功能,具体来说就是当项目出现新的PullRequest时触发BOT,开始持续监测项目,当发现24小时后还是没有解决PR就发邮件提醒项目的开发者
环境配置
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
有用的文档