Skip to content

TheWhiteDog9487/WordPressCommentWatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

介绍

关于这个东西可以看这篇文章

适用平台

WordPress
没别的原因,只是因为我自己在用而已。

部署

克隆本仓库

git clone https://github.com/TheWhiteDog9487/WordPressCommentWatcher.git

本项目使用uv管理Python环境,请确保你的设备上已经安装,具体请参考uv的官方文档
然后,在仓库文件夹下打开终端.

# 安装项目依赖项
uv sync

# 运行项目
uv run WordPress评论监控.py

如果不愿意安装uv,也没关系的喏
你可以直接使用pip,但我仍然建议你创建一个虚拟环境,而不是在全局安装包
隔离掉环境污染,好管理一些,也会好看点,对吧?

# 创建虚拟环境
python3 -m venv .venv

# 激活虚拟环境  
# Windows用户看这边~
.venv/Scripts/activate.ps1
# ↑ 如果使用命令提示符,就用activate.bat

# Linux用户看这边~
source .venv/bin/activate
# ↑ 如果使用fish,就用activate.fish

# 安装依赖
pip install -r requirements.txt

# 然后运行项目
python3 WordPress评论监控.py

首次运行会直接退出,目录下多出来一个json配置文件,打开。

  • URL:要监测博客的地址,可以是IP或域名
  • _DiscordConfig__Bot_Token:机器人的令牌
    • 请务必开启机器人privileged intents中的Message Content项,哪怕你不需要在Discord内回复评论
  • _DiscordConfig__WordPress_Application_Password:WordPress站点上创建的应用密码,如果需要在Discord内回复评论的话需要填写,不需要的话不管就是了

注:不用在意这两个属性的名称为什么看起来很奇怪,受保护的类型序列化之后是这样的。

  • Channel_Message:如果你希望机器人在一个服务器的频道内提醒你,这里就填true;如果你希望机器人私信你,那就填false。
  • Admin_User_ID:选择私信提醒的朋友,这里填上你的Discord用户ID,选择频道提醒的不用理会。
    • 另外,只有这个用户有权在Discord内回复评论。
    • 如果你不想让机器人私信提醒但是需要在Discord内回复评论,请填写这个属性并将Channel_Message设置为true。
  • Channel_ID:选择频道提醒的朋友,这里填上你想让机器人发送消息的频道ID,选择私信提醒的不用理会。
  • Ignore_List:如果你希望某一位或某些用户发送评论时你不会收到通知,就把他(们)的用户名填入这个列表内,如果有多个就用逗号分隔。
  • WordPress_User_Name:WordPress用户名,如果需要在Discord内回复评论的话需要填写,内容为创建应用密码时的使用的用户的用户名。

注意:Admin_User_ID和Channel_ID直接写数字就行,不用像上面的Token那样加引号。Channel_Message直接填true或false,也不要加引号。

填写完成之后应该大致长这样:

{
	"URL":"https://www.thewhitedog9487.xyz",
	"_DiscordConfig__Bot_Token":"MTA4ODA2OTI5Nzg2MTA1MDQ0OA.GZkIBA.-11qdvzOz5o3zFiC-pW1YjbpFOaa93Q1vycOYg",
	"Admin_User_ID":531317938863603722,
	"Channel_ID":1141585619819188244,
	"Channel_Message":true,
	"Ignore_List": ["TheWhiteDog9487"],
	"_DiscordConfig__WordPress_Application_Password": "a3DB 7J4q 8d3b 9f2c 6e5a 1c2b",
	"WordPress_User_Name": "TheWhiteDog9487"
}

( 献祭一下以前的令牌,来这当下例子

这个时候就已经可以跑起来了。
但是,如果每次重启设备后都是人工去开启程序,非常麻烦且不必要,非常的不人性化。
所以,我的建议是,把这个东西注册成一个服务。
Windows用户考虑下计划任务(我没实际用过,仅提供可能的建议)
Linux系统上实现了Systemd服务的自动安装与卸载:

  • 安装
    给脚本添加install参数,将systemd服务自动安装到系统内。
    uv run WordPress评论监控.py install
    # 如果你使用虚拟环境+pip,记得首先激活你的虚拟环境,然后像这样喏( ̄︶ ̄)↗ 
    python3 WordPress评论监控.py install
    这会同时设置服务为开机自启并启动服务。
    安装完成之后可以使用下面的命令查看服务状态:
    systemctl status WordPressCommentWatcher
  • 卸载 使用uninstall参数。
    uv run WordPress评论监控.py uninstall
    # 虚拟环境版本的命令,和上面install那边一样喏
    python3 WordPress评论监控.py uninstall

更新

警告:本项目不保证配置文件向后兼容!
你可能需要在更新之后删除旧的配置文件并重新填写!

systemctl stop WordPressCommentWatcher

先把目前的服务关了,如果你安装了systemd服务的话

git pull

更新代码

uv sync

更新依赖项

systemctl start WordPressCommentWatcher

重新启动服务

About

当博客里有新评论的时候,及时通知你。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages