最近注册了一个emby公益服,保号要求每日通过telegram bot签到。手动签到几天后觉得有些麻烦,搜索一番后在github发现一个实现telegram自动签到的程序,用起来很不错,遂部署在了Immortalwrt中。
项目地址:https://github.com/amchii/tg-signer
安装配置参照项目介绍即可,我采用了pip方式。为了方便使用,可以为签到任务创建启动脚本:
cat > /etc/init.d/tg-signer << 'EOF'
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=99
STOP=01
SERVICE_NAME="tg-signer"
COMMAND="tg-signer"
RUN_ARGS="run embysign"
WORK_DIR="/root"
USER="root"
start_service() {
procd_open_instance
procd_set_param command "$COMMAND" $RUN_ARGS
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param user "$USER"
[ -n "$WORK_DIR" ] && procd_set_param chdir "$WORK_DIR"
procd_close_instance
}
stop_service() {
killall "$COMMAND"
}
EOF然后设置权限并启用:
chmod +x /etc/init.d/tg-signer
/etc/init.d/tg-signer enable
/etc/init.d/tg-signer start至此再无断签之烦恼~
更新:tg-signer在后台运行不稳定,跑着跑着就挂了,索性用openwrt自带的cron来做:
root@ImmortalWrt:~# crontab -l
0 3 * * * /usr/bin/tg-signer run-once okemby
2 3 * * * /usr/bin/tg-signer run-once okembyadd这样每天3:00会执行签到,3:02会用签到得到的积分续期1天。由于是一次性运行,所以不需要维持后台服务。