Check if phone numbers are connected to Telegram accounts.
Project description
telegram-phone-number-checker
Python tool/script to check if phone numbers are connected to Telegram accounts. Retrieving username, name, and IDs where available.
Installation
You can install this tool directly from the official pypi release.
pip install telegram-phone-number-checker
You can also install it and run it directly from GitHub as a script.
git clone https://github.com/bellingcat/telegram-phone-number-checker
cd telegram-phone-number-checker
pip install -r requirements.txt
python telegram-phone-number-checker/main.py
Requirements
To run it, you need:
- A Telegram account with an active phone number;
- Telegram
API_ID
andAPI_HASH
, which you can get by creating a developers account at https://my.telegram.org/. Place these values in a.env
file, along with the phone number of your Telegram account:
API_ID=
API_HASH=
PHONE_NUMBER=
If you don't create this file, you can also provide these 3 values when calling the tool, or even be prompted for them interactively.
Usage
The tool accepts a comma-separated list of phone numbers to check, you can pass this when you call the tool, or interactively.
See the examples below:
# single phone number
telegram-phone-number-checker --phone-numbers +1234567890
# single phone number, download profile photo
telegram-phone-number-checker --phone-numbers +1234567890 --download-profile-photos
# multiple phone numbers
telegram-phone-number-checker --phone-numbers +1234567890,+9876543210,+111111111
# interactive version, you will be prompted for the phone-numbers
telegram-phone-number-checker
# overwrite the telegram API keys in .env (or if no .env is found)
telegram-phone-number-checker --api-id YOUR_API_KEY --api-hash YOUR_API_HASH --api-phone-number YOUR_PHONE_NUMBER --phone-numbers +1234567890
The result will be written to the console but also written as JSON to a results.json
file, you can write it to another file by adding --output your_filename.json
to the command.
For each phone number, you can expect the following possible responses:
- If available, you will receive the Telegram Username, Name, and ID that are connected with this number.
- 'no username detected'. This means that it looks like the number was used to create a Telegram account but the user did not choose a Telegram Username. It is optional to create a Username on Telegram.
- 'ERROR: no response, the user does not exist or has blocked contact adding.': There can be several reasons for this response. Either the phone number has not been used to create a Telegram account. Or: The phone number is connected to a Telegram account but the user has restricted the option to find him/her via the phone number.
- Or: another error occurred.
Development
This section describes how to install the project in order to run it locally, for example if you want to build new features.
# clone the code
git clone https://github.com/bellingcat/telegram-phone-number-checker
# move into the project's folder
cd telegram-phone-number-checker
This project uses poetry to manage dependencies. You can install dependencies via poetry, or use the up-to-date requirements.txt file.
# install poetry if you haven't already
pip install poetry
# with poetry
poetry install
# with pip
pip install -r requirements.txt
You can then run it with any of these:
# with poetry
poetry run telegram-phone-number-checker
# with pip installation
python3 telegram_phone_number_checker/main.py
Generating requirements.txt
& requirements-dev.txt
Poetry is used to generate both of these files. requirements.txt
contains only those dependencies necessary for
running the CLI. requirements-dev.txt
contains all dependencies including those used for running tests, linters, etc.
To generate requirements.txt
:
poetry export --output=requirements.txt --without-urls
To generate requirements-dev.txt
:
poetry export --output=requirements-dev.txt --without-urls --with=dev
💡 --without-urls
is for users who install from their own private package repository
instead of pypi.org
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file telegram_phone_number_checker-1.2.1.tar.gz
.
File metadata
- Download URL: telegram_phone_number_checker-1.2.1.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.9.16 Linux/6.5.0-1022-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3022d83bf79d25e01dc649f3f693d75732503949b00c60934139e8e7809b4574 |
|
MD5 | 2f13831a0a71ccfa8ab78258843e883a |
|
BLAKE2b-256 | 36057126c2cb526224b272b0738c2da75b57cd16c28ea32e9da32c43387c1cd1 |
File details
Details for the file telegram_phone_number_checker-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: telegram_phone_number_checker-1.2.1-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.9.16 Linux/6.5.0-1022-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9023ec68d775dbe20b4914347b249fe5b14ebce434a94ed0aeeca43f902d4c5a |
|
MD5 | 5f693249e86d55e42580c8962724c004 |
|
BLAKE2b-256 | e89c97def5fc7d28f04a51bbb6feae0d5140e46c1142f6d6ef0418c610a03094 |