What I learned from Telegram channels network
Scraping and analyzing graph of millions of channels
Once upon a time, I started to collect a graph of the Telegram channels network. And now I have a graph of more than three million channels. I expected to find an ordinary social network separated by languages and clustered by some topics, like IT, history, memes, and so on. I wanted to find niche communities the most. But what I’ve found is an enormous cluster of Russian propaganda.
Each node is a channel and each link is either repost or mention.
The global map of all I had in July 2023:
Dots are colored by clusters, but there may be different clusters of the same color. It’s only to separate them visually.
And the same map labeled by languages:
It is worth mentioning, that a lot of clusters labeled as “ru” may have switched their language to Ukrainian after the war began.
Interesting things here:
large cluster in which language recognized as Malay (ms) consists mostly of small channels. They all have a few subscribers and a lot of links between other channels in the same clusters. They are mostly dedicated to K-pop and have many links because they promote each other or sell accounts.
All Korean clusters I have seen are about K-pop
German clusters are mostly about conspiracy fancy medicine (like сhlorine dioxide injections), alt-right movements, and anti-governmental movements. They also strongly connect with the alt-right (Q-anon for example) channels that post in English.
Arabian and Persian clusters had a wide range of topics, so I decided to make a separate map of them.
Russian propaganda
Here is the same map, but the red dots are channels that have strong connections with manually labeled 400 Russian propaganda channels:
Here all the channels are reachable 1-2 steps from the core of propaganda. So indifferent readers who discover Russian channels by following reposts will end in a propaganda cluster.
Memes
Telegram is a great source of memes. So I tried to create a map of meme channels. I’ve started with channels I’m subscribed to, and after a few steps collected approximately 22K channels. It was hard to avoid Russian propaganda again. After clearing a lot of big channels that connect everything to propaganda there is also a dense cluster of them. But I’ve been able to collect two large Russian and Ukrainian meme clusters and also a small piece of English memes. I also made an interactive map (it looks slightly different but all the point coordinates are the same).
Iranian Telegram
During scraping I’ve found that there are a lot of channels that post in Farsi. I’ve even subscribed to some of them. I’ve mentioned that there is something familiar with Russian Telegram: there are pro-governmental channels that don’t turn on comments and reactions, channels that criticize the government and praise the protesters. Near the protest channels are located tech channels, that share ways to avoid censorship. Somewhere in the same region is the Iranian memes cluster. There is also a special local scientific cluster. I also made an interactive map (may take too long to load, desktop only)
In the next episodes
Diving into technical details like
DB deployment
How to handle large graph networks
Clustering
Interpretation
Visualization
P. S.
This series of articles is mostly a retelling of what I posted on my Telegram channel