Telegram普通账号定时发布信息、签到

实现telegram普通账号定时发布信息,定时签到(ps:不是机器人bot)


笔者搭建的是一台初始centos 7服务器

安装环境

OS:centos7
安装方式:编译安装
其他系统的安装教程可以看github项目中README
暂未找到yum源

实现原理:利用telegram-cli模式登陆到服务器端,再做定时任务、发送消息

搭建telegram-cli

yum -y install git
yum update -y nss curl libcurl
git clone --recursive https://github.com/vysheng/tg.git && cd tg
yum -y install lua-devel openssl-devel libconfig-devel readline-devel libevent-devel jansson-devel python-devel gcc 
./configure
make

​ 依次运行上述命令后,telegram-cli已经安装完成,可执行文件在当前目录下的bin/telegram-cli

​ 登录Telegram-cli之前需要在https://my.telegram.org/apps 获取pub密钥。我选择创建的application类型为app(这里填什么都行 )
主要是获取 Public keys 用来登陆telegram验证

可以新建一个文件,然后把 public key 的内容复制进去并保存

Public keys复制,回到服务器端。执行以下命令,将密钥保存到 mytg-server.pub文件中。

vi mytg-server.pub

上述操作完毕之后,就可以登录了。

执行命令:

/root/tg/bin/telegram-cli -k  mytg-server.pub

提示输入电话号码和验证码,登录就可以了。

登录完毕后可以按ctrl-c键退出,或者使用命令quitsafe_quit退出。

发送消息

执行命令bin/telegram-cli -W进入命令行模式 格式为(标签 用户或群组名称 内容)

ps:用户群组名称可以用 (Id 用户名 群组名称) 中间有空格或者#标识 需要使用_替换

输入msg @xxx text 即可发送时时消息

可以按ctrl-c键退出,或者使用命令quitsafe_quit退出。

直接发送消息:bin/telegram-cli -W -e "msg <username/channelname> <msg>"

用脚本发送消息

上面是telegram-cli的简单使用 下面使用脚本命令发送消息

编辑一条脚本 vi/root/tg.sh

#!/bin/bash
to=$1
msg=$2
/root/tg/bin/telegram-cli -W -e "msg $to $msg"

调用方式
bash root/tg.sh @xxxx 这是一条测试信息

定时发送消息(crontabs)

脚本写完了 咱们加到定时任务里面去 可以实现每天定时发送消息、早晚签到等

主要是使用crontabs

装不上的自己想想办法,已经安装的可以跳过

yum -y install vim-enhanced.x86_64
yum install crontabs
systemctl enable crond 	#(设为开机启动)
systemctl start crond      #(启动crond服务) 
systemctl status crond 	#(查看状态)

vi /etc/crontab 可以看到:

Example of job definition:
.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * user-name command to be executed

分钟(0-59) 小时(0-23) 日(1-31) 月(11-12) 星期(0-6,0表示周日) 用户名 要执行的命令
这是使用定时器的基本意思这里不做过多概述

crontab -e 执行这个命令添加定时器规则 以早9点晚7点为例

0  9 * * *   bash /root/zao.sh
0 19 * * *   bash /root/wan.sh

crontab -l 查询当前定时器

上面定时器设置好了 我们需要添加定时器脚本可以实现波动性打卡 在9点-9点半内 19点-19点半内 波动性打卡

编辑早脚本 vi/root/zao.sh

#!/bin/bash
#随机数,表示随机一个30以内的数
randNum=$(($RANDOM%30))
echo -e $[randNum]" 9 * * * bash /root/tg.sh 打卡通知群 测试早打卡\n0 19 * * * bash /root/wan.sh"> /root/user
#设置可执行权限
chmod 777 /root/user
#使用crontab 命令添加到定时任务
crontab /root/user

编辑晚脚本 vi/root/wan.sh

#!/bin/bash
#随机数,表示随机一个30以内的数
randNum=$(($RANDOM%30))
echo -e $[randNum]" 19 * * * bash /root/tg.sh 打卡通知群 测试晚打卡\n0 9 * * * bash /root/zao.sh"> /root/user
#设置可执行权限
chmod 777 /root/user
#使用crontab 命令添加到定时任务
crontab /root/user

好了将上面的方法执行下就可以实现telegram 定时发送信息 在时间范围内波动性打卡

因为定时器没有波动的参数,所以想到了执行定时器创建出来一个波动时间定时器,再将以前的定时器覆盖掉,从而实现波动的定时器(模拟真人签到)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章