Telepathy-Community: a Telegram OSINT toolkit whose source branch does not parse
Public release of Telepathy, an OSINT toolkit for investigating Telegram chats.
At a glance
- What is it?
- Telepathy-Community is the public MIT-licensed release of Telepathy, a Python command line OSINT tool for archiving and analysing public Telegram chats. The judgement is blunt and comes from the project's own README: the toolkit has not been maintained since July 2024, the default branch contains a syntax error, and the two documented install paths disagree on the core library.
- Who is it for?
- Telepathy-Community fits a researcher who needs to archive a public Telegram chat's message history, media, reactions and forward counts into files they can analyse, and who is prepared to work around a broken default branch. It does not fit a team that needs a maintained tool with a support path, because the README states the repository is not actively maintained and that external bug reports are not currently triaged.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 71 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 21, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What the toolkit does, in the terms its own README uses
Telepathy is described as a Python command-line OSINT toolkit for collecting and analysing public Telegram chats, developed by Jordan Wildon, and this repository is the public release of it. The version recorded in the source is 2.3.4.
The feature set is broad for a command line tool. It archives Telegram chats, including replies, media content, comments and reactions. It gathers memberlists, looks up users by given location, analyses top posters in a chat, and maps forwarded messages. The usage sections describe the toolkit's features as basic and comprehensive chat scans, memberlist collection, forward edgelists, media archiving, user and location lookups, chat export, reply retrieval and translation.
The intended audience is stated plainly: OSINT analysts, researchers and digital investigators. The use cases named are investigative and data journalism, academic and research institutions, and intelligence gathering and analysis.
The scope is limited to public chats by design. The target option documents that the specified chat must be public or have a private link, and the way to find the name is to look for the `t.me/chatname` link and subtract the `t.me/` prefix. So the tool works on any chat that already has a public link, and it does not attempt to access private chats.
Two scan depths exist. The default basic scan finds the title, description, number of participants, username, URL, chat type, chat ID, access hash, first post date and any applicable restrictions to the chat, and for group chats it also generates a memberlist of up to 5,000 members. The comprehensive scan offers the same information and additionally archives the chat's message history, gathers the number of reactions, archives how many times a message has been forwarded, and more.
The architecture is a single console entry point. The `setup.py` installs `telepathy`, bound to `telepathy.telepathy:cli`, and the dependency set is small and conventional: click, telethon, pandas, colorama, alive_progress, beautifulsoup4, requests, googletrans and pprintpp.
The README says the project is not maintained, and says it plainly
This is the part that any potential user needs first, and the README puts it near the top in bold.
The repository is not actively maintained, and the rest of the README does not reflect that. The last change to the toolkit's own source was on 2024-07-12. Every commit since is repository housekeeping: security-workflow caller stubs on 2026-08-07 and a Dependabot dependency bump on 2026-08-10. The published package on PyPI, `telepathy` 2.3.4, was last uploaded on 2024-07-12 and has not been republished since. There are 41 open issues, and installation and runtime failure reports filed between 2023 and 2025 stand with no maintainer reply.
The README goes further and disclaims its own future-tense sections. The upcoming-changes and upcoming-features lists, and the statements that deeper analytics and further location-scanning support are planned or being explored, describe work that is not in progress. And `src/telepathy/const.py` still sets `__status__ = "Development"`.
That combination is the honest shape of the project. It is a snapshot, not a stalled work in progress, and the documentation contains a live description of features that were planned and never built. A reader who skims the feature list will overestimate what exists.
Ownership is equally explicit. The sole operator is Al Baker, [email protected], confirmed by the `prose-catalogue` record and the `owner-al` topic on the repository. There is no `CODEOWNERS` file on the default branch. Escalation for anything concerning the repository goes to [email protected], external bug reports are not currently triaged, and no response time is offered, with the open-issue record described as the accurate expectation to set.
One more detail that matters in practice: the contact routes named elsewhere in the README, in the package metadata and in the CLI start-up banner are a former maintainer's personal address and social account. They are historical attribution, not Prose Intelligence support channels, and correspondence sent to them will not reach the owner.
The repository is MIT licensed with the text in `LICENSE.txt` at the root, so the code can be read, forked and reused without restriction. That is a licensing observation rather than legal advice, and `LICENSE.txt` governs.
The default branch does not parse, and the two installs disagree
The README lists two concrete consequences for anyone arriving from the installation instructions, and they are specific enough to check for yourself.
The first is that the install-from-source path is broken on the default branch. `src/telepathy/telepathy.py` does not parse: `class PlaceholderClass:` at line 1743 is followed by an unindented body, raising `IndentationError` at line 1744. The package's main module is therefore unimportable, and `pip install -r requirements.txt` against a fresh clone produces a non-working `telepathy` command. The stale duplicate under `build/lib/telepathy/` does parse, but it is a 2024 copy that is not what an install uses. The package directories also contain `__init.py__` rather than `__init__.py`, in both `src/` and `src/telepathy/`.
So the failure is a syntax error, not a missing dependency, and it is in the file the console script points at. That means the clone route produces a command that cannot start.
The second consequence is that the two documented install paths do not agree. `setup.py` requires `telethon == 1.36.0` while `requirements.txt` pins `Telethon==1.25.2`, so a pip install and a source install get different core libraries. The version strings disagree as well: the README and `setup.py` say 2.3.4, and `src/telepathy/const.py` says 2.3.2.
The `pip3 install telepathy` path is described as installing the July 2024 release, which predates none of the open bug reports and has not changed since. Whether the published 2.3.4 sdist carries the same syntax error as the repository source is stated as unknown, because the sdists committed under `dist/` are 2.3.2 and earlier and the published 2.3.4 artefact was not downloaded or inspected.
One small piece of good news is recorded. The clone URL in the installation section points at the repository's former path and resolves to the current location via a GitHub redirect with HTTP 301, so it still works.
The README states this section is written against the default branch, `main`, at commit `f1a5b95`.
Running it needs Telegram API credentials and a phone login
Whatever the state of the package, the intended workflow is clear from the setup section, and it has a specific first-run cost.
On first use, Telepathy asks for your Telegram API details, obtained from my.telegram.org. Once those are set up, it prompts you to enter your phone number again and then sends an authorization code to your Telegram account. If two-factor authentication is enabled, you are asked for your Telegram password.
That is a client login using your own account, not an API token. It means the tool runs as you, with your visibility into the chats you can see, and it means there is a one-time interactive setup before anything scans.
There is also an optional performance note. Installing cryptg with `pip3 install cryptg` may improve Telepathy's speed, because the package hands decryption from Python over to C, making media downloads in particular quicker and more efficient.
The command line itself is a single entry point with options. The target option, `--target` or `-t`, takes a chat name, and `telepathy -t durov` is the example given:
$ telepathy -t durovThe comprehensive option is `--comprehensive` or `-c`. The dependency set explains the interface: click provides the option parsing, alive_progress draws the progress bars that a long archive needs, colorama handles the terminal colours, pandas is for the data you end up analysing, and pprintpp formats the printed results.
The `build/` and `dist/` directories in the repository root are worth noting as well, since the `build/lib/telepathy/` copy is the stale one that still parses. The `tests/` directory exists at the root, and `CHANGES.txt` and `CONTRIBUTING.md` are present alongside `setup.py` and `requirements.txt`.
What is being pointed at, and what you get instead
The README points readers toward a commercial product, and it does so plainly. The section asking whether you are looking for an enterprise-grade version of Telepathy directs you to prose.ltd to find out how they can turbocharge your Telegram data collection with Telepathy Pro, with no accounts, no dealing with the command line and no hassle needed.
That is the structure of the project now. The community repository holds the last open version of a tool that was useful, and a commercial product is offered for current use. The README is unusually transparent about which is which.
For the open version, the realistic options are narrow and worth enumerating. The PyPI package may work, since it is the July 2024 build, though the README cannot confirm whether it carries the same syntax error. The stale copy under `build/lib/telepathy/` parses and is a 2024 snapshot you could adapt, though it is not what an install uses and the `__init.py__` filename problem would still need fixing. Or you patch the `IndentationError` in the source yourself, which is a two-character-class fix, but the `__init.py__` naming issue and the two disagreeing Telethon pins would remain.
The comparison with an alternative approach is about what the tool gives you rather than what it is. Because it runs as a Telegram client rather than through a bot or a scraper, it can see what a logged-in member of a group sees, including replies, media, comments and reactions, and it can build a memberlist of up to 5,000 members. A bot added to a group sees a similar message stream but cannot enumerate membership, and a third-party export service gives you files without the forward counts and reaction counts. The forward edgelist in particular is the kind of derived signal that is awkward to get any other way, because it requires reading the original message's forward metadata across the whole history.
The cost of the open version is that you own the repair work, the dependency reconciliation, and the fact that the API of the underlying library may have moved on since 2024.
Editorial conclusion
Telepathy-Community fits a researcher who needs to archive a public Telegram chat's message history, media, reactions and forward counts into files they can analyse, and who is prepared to work around a broken default branch. It does not fit a team that needs a maintained tool with a support path, because the README states the repository is not actively maintained and that external bug reports are not currently triaged. Verify first whether the PyPI package `telepathy` at 2.3.4 installs and runs, since the repository source is the version that does not parse, then which Telethon version you end up with, because `setup.py` pins 1.36.0 while `requirements.txt` pins 1.25.2, and finally that your Telegram API credentials and phone number authentication are set up before you run anything, since the tool prompts for both on first use.
Frequently asked questions
What does the Telepathy-Community toolkit do?
It is a Python command-line OSINT toolkit for collecting and analysing public Telegram chats, archiving message history including replies, media, comments and reactions, generating memberlists of up to 5,000 members for group chats, recording forward counts and reaction counts, and supporting user and location lookups, chat export and translation.
Is Telepathy-Community still maintained?
No. The README states the repository is not actively maintained and that the rest of the README does not reflect that. The toolkit's own source last changed on 2024-07-12, the PyPI package has not been republished since, and external bug reports are not currently triaged.
Why does installing Telepathy from source fail?
The README records that `src/telepathy/telepathy.py` does not parse, because `class PlaceholderClass:` at line 1743 is followed by an unindented body, raising an IndentationError at line 1744. The main module is therefore unimportable and a source install produces a non-working `telepathy` command.
Which Telethon version does Telepathy need?
The two documented paths disagree. `setup.py` requires `telethon == 1.36.0` while `requirements.txt` pins `Telethon==1.25.2`, so a pip install and a source install end up with different core libraries. Version strings also disagree, with the README and `setup.py` saying 2.3.4 and `src/telepathy/const.py` saying 2.3.2.
What does Telepathy need before it can scan a chat?
Your Telegram API details from my.telegram.org, and then a client login: on first use it asks for your phone number, sends an authorization code to your account, and asks for your Telegram password if two-factor authentication is enabled. The target chat must be public or have a private link, and you identify it by the name from its `t.me/chatname` URL.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/prose-intelligence-ltd-telepathy-community)Was this useful?