0x00 前言
Telegram上有很多需要每天签到的东西,利用脚本和服务器可以实现自动化签到。
0x01 步骤
- 在 https://my.telegram.org/auth 申请API,需要
api_id
与api_hash
- 编写脚本,需要签到的公众号和指定命令与上步得到的
api_id
与api_hash
- 部署在服务器,利用crontab进行自动化签到
0x02 脚本
此处以t00ls的签到为例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import time from telethon import TelegramClient, events, sync
api_id = your_api_id api_hash = 'your_api_hash'
client = TelegramClient('t00ls_sign', api_id, api_hash) client.start()
client.send_message('T00lsBot', '/start')
@client.on(events.NewMessage(chats=('T00lsBot'))) async def handler(event): await event.click(0) print("[*]T00ls已执行签到.") if(event.text[:3] == '尊敬的'): print("[*]成功签到.") await client.disconnect() elif("签过到" in event.text): print("[!]T00ls今天已经签过到了.") else: print("[!]T00ls签到异常.")
with client: client.add_event_handler(handler) client.disconnected
|
脚本运行后会出现连接错误的提示,是因为国内把Telegram墙掉了,可以开代理运行脚本即可。运行成功后会提示输入手机号和验证码,输入一次以后就可以不用输入了。
0x03 部署
因为Telegram在国内被墙,如果直接将脚本部署到国内云上会出现连接错误的提示。我使用了v2ray + proxychains + crontab的形式来实现脚本自动执行。
1、V2ray的安装
在线安装:
1 2
| sudo su bash <(curl -L -s https://install.direct/go.sh)
|
进/etc/v2ray/config.json
配置梯子,或者使用V2rayN
导入节点后导出json文件,在复制粘贴进来。
之后就是开启v2ray服务。
1 2 3 4 5 6 7 8
| systemctl status v2ray
systemctl start v2ray
systemctl restart v2ray
|
2、Proxychians的安装
安装下载源码:
1
| git clone https://github.com/rofl0r/proxychains-ng
|
编译和安装:
1 2 3 4 5 6
| cd proxychains-ng ./configure --prefix=/usr --sysconfdir=/etc make make install make install-config cd .. && rm -rf proxychains-ng
|
在/etc/proxychains.conf
里配置,[ProxyList]
下添加:
不要忘了在服务器控制台防火墙放行1080端口。
3、运行
1
| proxychians4 python auto_signup.py
|
将上面的命令写入crontab规则,规则列表在/etc/crontab
,里面有详细说明,在此不表。