{"id":25227778,"url":"https://github.com/striter-no/teinvcaptcha","last_synced_at":"2025-04-05T13:16:11.966Z","repository":{"id":274196764,"uuid":"922199361","full_name":"striter-no/TeinvCAPTCHA","owner":"striter-no","description":"TeinvCAPTCHA project is designed to analyze ad and fishing userbots group members, dead accounts, and inactive members for further administration.","archived":false,"fork":false,"pushed_at":"2025-01-26T15:19:22.000Z","size":56418,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-11T04:13:38.067Z","etag":null,"topics":["invisible-captcha","moderation-bot","pyrogram","python","telegram"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/striter-no.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-25T15:31:04.000Z","updated_at":"2025-01-26T15:19:26.000Z","dependencies_parsed_at":"2025-01-25T16:36:20.808Z","dependency_job_id":null,"html_url":"https://github.com/striter-no/TeinvCAPTCHA","commit_stats":null,"previous_names":["striter-no/teinvcaptcha"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/striter-no%2FTeinvCAPTCHA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/striter-no%2FTeinvCAPTCHA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/striter-no%2FTeinvCAPTCHA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/striter-no%2FTeinvCAPTCHA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/striter-no","download_url":"https://codeload.github.com/striter-no/TeinvCAPTCHA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247339155,"owners_count":20923014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["invisible-captcha","moderation-bot","pyrogram","python","telegram"],"created_at":"2025-02-11T09:10:01.133Z","updated_at":"2025-04-05T13:16:11.940Z","avatar_url":"https://github.com/striter-no.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TeinvCAPTCHA\n\n## What is it\n\nThis project is designed to analyze ad and fishing userbots group members to identify bots, dead accounts, and inactive members for further administration.\n\n## How to use it\n\nBefore you start working with the software part you need to register the application in Telegram (via [this link](https://my.telegram.org/auth?to=apps)). You need to create an application and copy api_id and api_hash from there.\n\nNext, move `tg-config.json` from the `templates` folder to the main folder. \n\nPaste the api_id and api_hash into the appropriate fields:\nAlso you need your personal Telegram UID for it.\n\n```\n{\n    \"api_id\": \"1234\",\n    \"api_hash\": \"abcdef1234\",\n    \"your_id\": 1234\n}\n```\n\nTo start using it, it is advisable to create `venv` and use it:\n\n```shell\npython -m venv venv\nsource ./venv/bin/activate # For linux\n```\n\nNext, install all the necessary libraries:\n\n```shell\npip install -r ./reqs.txt\n```\n\nFinally, you can run the main file:\n\n```shell\npython ./main.py\n```\n\nAt the beginning you will be prompted to log in to your account, log in. Pass 2FA if you have it enabled.\n\nAfter in telegram you can write to __any__ chat room \n\n```plain\n!anl --group_type=TYPE --chat_id=ID [--send_back]\n```\n\nWhere instead of ID is the ID of the group or supergroup\nInstead of TYPE - type of group:\n- `group` : Regular group\n- `supergroup` : Supergroup\n\n\u003eTIP: You can type arguments in any order and not only in 1 line:\n\n```\n!anl \n    --group_type=TYPE \n    --chat_id=ID \n    [--send_back]\n```\n\n\nYou can use `--send_back` to send the report archive back to you saved messages. For example:\n\n```plain\n!anl \n    --group_type group \n    --chat_id 1234 \n    --send_back\n```\n\n## Where to see the ID of a group or supergroup\n\nTo view the ID you need:\n\n1. Go to Telegram settings\n2. Go to the \"Advanced\" tab\n3. At the very bottom, click the \"Experimental\" tab\n4. Enable the display of \"Peer IDs\"\n\n## How to distinguish a group from a supergroup\n\n- Group:\n    - Number of members up to 200\n    - No invitation link\n    - Private only\n- Supergroup:\n    - Number of participants up to 200'00\n    - Have invitation link\n    - Can be either public or private\n\n\n\n## How it works\n\nThe principle of operation for the Beta 2 version period is as follows: \n1. The program gets access to an open chat room (group or supergroup)\n2. The program gets all users of the group, performing initial analysis\n\n---\nPrimary (plain) analysis is obtaining public information about a user, i.e.:\n- Full Name\n- Username\n- Phone number (if available)\n- When was last online\n- When joined the group\n- How many posts have been written\n- Small version of avatar\n- Presence of premium on the account\n- Unique Telegram User Identification Number (Telegram UID)\n- Is this a bot or not\n---\n\n3. Depending on the number of messages:\n- If there are 0 or 1 (only message about joining the group or basically none), then __level of trust__ becomes 0. This is probably a bot or a dead account\n\n- If there are up to a treshhold (50 by default), then each message is pulled out for further analysis:\n    - Text\n    - Date of change\n    - ID\n    - The date the message was written\n\n    In this case, the confidence level is 0.5\n\n- If there are more messages than treshhold, then the trust level is maximized.\n\n4. Finally the report made is written to a *.json file\n5. Then all user avatars are downloaded by file_id for further analysis","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstriter-no%2Fteinvcaptcha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstriter-no%2Fteinvcaptcha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstriter-no%2Fteinvcaptcha/lists"}