Telegram 自动签到--Telethon
前言
自动签到的用途就不多说了,本文主要摘录相关代码以及一点个人实践体会。
正文
本文目的在于个人记录,详细教程这里不多摘录。
主要流程
- 开启TG API
- 安装Python与Telethon(VPS,PC,软路由,云函数,Actions均可,但要确保网络环境正常。或自行准备代理。)
- 准备好自动签到脚本(Python版)
- 先运行一次脚本,生成
.session
会话文件 - 设置定时任务(注意:目录问题非常敏感)
代码1
代码如下,简洁明了。
# -*- coding: utf-8 -*-
import os
import time
from telethon import TelegramClient, events, sync
api_id = [0123456, 6543210] #输入api_id,一个账号一项
api_hash = ['0123456789abcdef0123456789abcdef', 'abcdef0123456789abcdef0123456789'] #输入api_hash,一个账号一项
session_name = api_id[:]
for num in range(len(api_id)):
session_name[num] = "id_" + str(session_name[num])
client = TelegramClient(session_name[num], api_id[num], api_hash[num])
client.start()
client.send_message("@luxiaoxun_bot", '/checkin') #第一项是机器人ID,第二项是发送的文字
time.sleep(5) #延时5秒,等待机器人回应(一般是秒回应,但也有发生阻塞的可能)
client.send_read_acknowledge("@luxiaoxun_bot") #将机器人回应设为已读
print("Done! Session name:", session_name[num])
os._exit(0)
根据需要修改6、7、14、16行。
验证码
由于我目前暂无需求,这里不做摘录。
相关实现方法可以参考这篇文章2。
重点提示
Telethon的session对执行目录非常敏感,必须与第一次获取session的目录完全相同。
在第一次执行脚本,获取session文件后,设置计划任务的时候,应当在命令中加入指定目录。
0 6 * * * cd /root && /usr/local/bin/python3 tgsign.py
链接
【教程】TG自动签到脚本,支持多账号-美国VPS综合讨论-全球主机交流论坛 - Powered by Discuz!
Telegram 自动签到--Telethon - Leey's