telegram自动签到脚本,支持多账号


一、简介
TG上的某些机器人经常会有每日签到拿积分的活动,虽说每天上号点一点也不麻烦,但时间久了就经常会忘记。本教程将分享一种比较简单的方法,基于TG API以及Python的第三方包Telethon,部署到VPS上,每天定时上TG自动签到

二、准备工作
1、已开启API的TG号(下面会讲述如何开启TG API)
2、国外VPS一台(或能魔法上网的软路由)
3、Python 3.5+

三、开启TG API
申请网址:https://my.telegram.org
1、输入手机号登录,注意验证码会发送至TG客户端而不会以短信形式发送
2、登录进去后选“API development tools”

3、根据下图提示输入申请信息

4、开通完成后,保存api_id、api_hash两个值!

四、安装Python与Telethon
1、安装Python
检查VPS上Python的版本信息,查询命令:python --version 或 python3 --version。若版本号小于3.5.0,则需安装新版Python,请根据自己VPS的实际情况配置环境。
2、安装Telethon

pip3 install telethon

五、自动签到脚本(Python版)
1、复制以下代码,根据需要修改,保存为tgsign.py

import os
import time
import asyncio
from telethon import TelegramClient

async def send_messages():
    #你的TG App api_id 用, 分开
    api_id = [12345,67890]
    #你的App api_hash放在''内用, 分开
    api_hash = ['abcdefg', 'hijklmn']
    # 创建一个列表,每个元素是一个包含联系人和消息的元组
    #前面是机器人的用户名@开头 后面放签到的内容 例如/checkin
    contacts_and_messages = [
        ("@hao123", "/checkin")
    ]

    for num in range(len(api_id)):
        client = TelegramClient(f"id_{api_id[num]}", api_id[num], api_hash[num])
        await client.start()

        for contact, message in contacts_and_messages:
            sent_message = await client.send_message(contact, message)
            time.sleep(5)
            await client.send_read_acknowledge(contact)

            messages = await client.get_messages(contact, limit=1)
            last_message = messages[0] if messages else None
            if last_message:
                print(f"Last message: {last_message.text}")

        print(f"Done! Session name: id_{api_id[num]}")

        # 客户端退出
        await client.disconnect()  # 或者使用 await client.log_out()

async def main():
    await send_messages()

if __name__ == "__main__":
    asyncio.run(main())

2、先运行一次脚本,输入python3 tgsign.py回车,根据提示填写手机号与验证码。成功后Telethon会在当前文件夹下生成.session会话文件,以后就不用再输入验证码了(如无法生成会话文件,请检查Python内置库sqlite3是否已正常安装)

3、设置定时任务
输入crontab -e进入定时任务编辑器,添加:(根据实际情况调整,如python路径、脚本文件存放路径等)

0 6 * * * cd /root && /usr/local/bin/python3 tgsign.py

Special thanks to:

TG自动签到脚本,支持多账号

声明:吃蛋的小子|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - telegram自动签到脚本,支持多账号


我,俺床,咱手机。