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 定時發送信息 在時間範圍內波動性打卡

因爲定時器沒有波動的參數,所以想到了執行定時器創建出來一個波動時間定時器,再將以前的定時器覆蓋掉,從而實現波動的定時器(模擬真人簽到)

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