欢迎光临
我们一直在努力

Linux下使用Telegram-cli(TG电报)实现定时自动化给机器人、频道发消息实现签到的方法

安装Telegram-Cli

此安装环境是VPS,openwrt上安装用docker,当然VPS也可以使用docker!

科学上网必备,没有一个良好的网络环境为前提都是白折腾!!!

docker安装(推荐,省去一大堆麻烦事):

镜像地址:
https://hub.docker.com/r/ugeek/telegram-cli
ugeek/telegram-cli

安装镜像:

docker create --name telegram-cli -e TZ=Asia/Shanghai -v 挂载本地目录:/root/.telegram-cli ugeek/telegram-cli:amd64

启动docker:

docker start telegram-cli

执行telegram-cli命令行交互(先执行一次登陆,输入telegram注册的手机号码,号码记得加区号。)

docker exec -it telegram-cli telegram-cli -N -W

以下为编译安装步骤(docker或者编译二选一即可):

克隆telegram-cli:

cd /root/work/telegram  ### 或者你自己想要存放的目录
git clone --recursive https://github.com/vysheng/tg.git && cd tg

编译安装

### ubuntu
sudo apt-get update
sudo apt-get -y install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make
./configure
make

如果编译安装出现如下错误:

解决方法:

apt-get install -y libgcrypt20-dev libssl-dev
./configure --disable-openssl --prefix=/usr CFLAGS="$CFLAGS -w"
make

申请Telegram APP Key并且登陆telegram-cli

首先到telegram-apps里申请一个telegram App key(登陆时电话号码记得加国际区号)。

复制Public keys:

创建一个文件保存Public keys:

nano /root/work/telegram/bot_key.pub
###鼠标右键粘贴
ctrl+o ##保存 按完记得敲车键
ctrl+x ##退出

登陆telegram-cil

/root/work/telegram/tg/bin/telegram-cli -k /root/work/telegram/bot_key.pub
###输入账号绑定的手机号码,记得加区号
###输入telegram App收到的验证码


IOS锁屏就会提示offline,打开手机telegram app就会提示online。

测试一下命令:

telegram-cil频道名称如果有空格用下划线代替。

发送命令格式/root/work/telegram/tg/bin/telegram-cli -W -e "msg 频道名称 命令"

### 发送一条统计当前互助码池命令
/root/work/telegram/tg/bin/telegram-cli -W -e "msg Turing_Lab_Bot /count_activity_codes"

回显信息比较乱,自己看手机或PC telegram APP Turing_Lab_Bot机器人 消息就好了。

编写脚本

把互助码准备好,编写脚本:

创建一个文件,保存脚本

nano /root/work/telegram/submit_activity_codes.sh
2021-03-08 优化了定时任务脚本,速度更快,不会中断了,之前的脚本有问题,会经常中断(原因是因为脚本中执行发送消息命令太快-W参数加载消息会话列表没有完成就已经发出命令,导致命令出错!)。

复制以下内容,互助码自己替换,其他活动互助码自己添加(多个互助码用&拼接):

#!/bin/bash

telegramPath=TG Path #记得替换你telegram-cli目录/xxx/tg/bin

(
  sleep 5
  ### @Turing_Lab_Bot
  ###京喜财富岛
  echo "msg Turing_Lab_Bot /submit_activity_codes jxcfd 互助码"
  ###京东闪购盲盒
  echo "msg Turing_Lab_Bot /submit_activity_codes sgmh 互助码"
  ###京东环球挑战赛
  echo "msg Turing_Lab_Bot /submit_activity_codes jdglobal 互助码"
  ###惊喜工厂
  echo "msg Turing_Lab_Bot /submit_activity_codes jxfactory 互助码"
  ###东东工厂
  echo "msg Turing_Lab_Bot /submit_activity_codes ddfactory 互助码"
  ###东东萌宠
  echo "msg Turing_Lab_Bot /submit_activity_codes pet 互助码"
  ##种豆得豆
  echo "msg Turing_Lab_Bot /submit_activity_codes bean 互助码"
  ###东东农场
  echo "msg Turing_Lab_Bot /submit_activity_codes farm 互助码"
  ### @Commit_Code_Bot
  ###JD签到领现金 提交助力码
  echo "msg Commit_Code_Bot /jdcash 互助码"
  ###JD签到领现金 提交助力码
  echo "msg Commit_Code_Bot /jdcrazyjoy 互助码"
  echo "safe_quit"
) | ${telegramPath}telegram-cli -W -D

-D参数关闭了输出,调试的时候可以删除该参数(虽然没什么用,因为你命令发出去还没有等回显就已经结束命令了)。

docker 用户将最后一行脚本替换成 ) | docker exec -i telegram-cli telegram-cli -N -W, 删除 telegramPath=TG Path #记得替换你telegram-cli目录/xxx/tg/bin即可

保存脚本:

ctrl+o ##保存 按完记得敲车键
ctrl+x ##退出

赋予脚本可执行权限:

chmod +x /root/work/telegram/submit_activity_codes.sh

测试的时候记得注释大部分命令,留一到两个就行了,频繁提交小心被Bot Ban号。

bash /root/work/telegram/submit_activity_codes.sh

看看手机接收到的通知,一般接收到通知无非就是提交成功或助力池已满。

添加crontab定时任务:

助力池每次清空日期为每月1,8,16,24号,延迟10分钟后执行:

crontab -e
10 0 1,8,16,24 * * bash /root/work/telegram/submit_activity_codes.sh

结语

其他Bot签到什么的可以举一反三。

提醒一下,如果提示FAIL: 38: can not parse arg #1的话,需要先在手机上给要发送的账号聊一句才能用msg命令。

这下一劳永逸,省的忘记错过一个亿。

来源参考:
Linux下使用Telegram-cli(TG电报)实现定时自动化给机器人、频道发消息实现签到的方法,附多账号配置方案 - 好鸭:https://haoduck.com/677.html

LXK0301京东签到脚本-自动提交互助码 - OrzLee:https://www.orzlee.com/toss/2021/02/24/lxk0301-jingdong-signin-scriptautomatic-submission-of-mutual-aid-codes.html

使用telegram-cli命令行发送信息,可用于各种即时提醒:https://www.91yun.co/archives/5691

赞(0)
未经允许不得转载:飘云 » Linux下使用Telegram-cli(TG电报)实现定时自动化给机器人、频道发消息实现签到的方法
分享到: 更多 (0)