O servidor do Telegram retorna uma lista de temas para o futuro feed de recomendações — são nove: AI, Crypto, Biotech, Games, Sport, Health, Psychology, Politics e Inspiration. A resposta é a mesma nos servidores de produção e de teste. O feed ainda não está disponível para os usuários: em 16 de outubro, o próprio Telegram o desativou no código do cliente para iOS, e removeu os métodos do feed da compilação usando uma flag de compilação.

Nove Temas

A lista é retornada em resposta ao método feed.getInterestCategories. No servidor de produção, foi registrado em 25 de outubro às 08:04 UTC, e no de teste — no mesmo minuto, e as respostas são idênticas:

NºÍconeCategoria
1🤖AI
2💎Crypto
3🧬Biotech
4🕹Games
5⚽️Sport
6❤️Health
7🧠Psychology
8🏛Politics
9✨Inspiration

Em 16 de outubro, essa mesma lista já havia sido obtida do servidor, restaurando o esquema da camada API 232 — o que significa que o servidor respondia à solicitação de temas pelo menos desde meados do mês.

Cada tema possui um número, um ícone e um nome. No esquema, o tema também prevê outro campo — um link para um custom emoji, para que os ícones comuns possam ser substituídos por animados posteriormente.

Como o feed funciona

A mecânica completa é mostrada pelo código aberto do Telegram para iOS: em 22 de outubro, commits com o motor do feed, escritos entre 13 e 16 de outubro, foram adicionados ao repositório público.

  • A aba News. Ela se posiciona entre os chats e as configurações e é dividida em duas seções: "For you" — recomendações, e "Added" — posts de canais que você adicionou ao feed.
  • Seleção de interesses. A tela "What are you interested in?" envia os números dos temas selecionados para o servidor usando o método feed.setInterestCategories — ele é descrito no esquema da API do cliente. O servidor pode inserir esse bloco de seleção diretamente no feed, entre os posts.
  • Avaliação de posts. Um post pode ser deslizado como "Interesting" ou "Not Interested". Após ocultar, o cliente pergunta o motivo: não mostrar posts deste canal, não mostrar posts semelhantes ou remover o canal de News.
  • Canais para o feed. A entrada em um canal ganhou uma flag separada — o canal pode ser adicionado especificamente a News, e o cliente informa isso com a dica "added to News tab".

Os posts no feed chegam um por um ou em álbuns. O contador de não lidos é enviado pelo servidor, uma barra "New posts" aparece acima do feed, e há um "Mark All as Read" no menu.

Por que o feed ainda não está disponível

Em 16 de outubro, os desenvolvedores do cliente iOS registraram que o feed estava "estacionado" no lado do servidor, e prepararam um lançamento na camada API 232 sem os métodos do feed, e a aba News foi ocultada. Ela é ocultada pela build flag TELEGRAM_NEWS_FEED_API, que não é definida no lançamento. A chave de servidor news_feed_enabled apenas desativa o feed, e sem ela, ele é considerado ativado; essa chave não existe nas configurações dos servidores de produção e de teste. Nos esquemas do Telegram Desktop e TDLib, os métodos do feed também não existem.

O servidor, a julgar pela resposta à solicitação de temas, já está se preparando para o feed: a lista de temas é fornecida por ambos os servidores. Ainda não é possível ver se ele responde à solicitação do próprio feed de recomendações.

O que mudou desde 15 de outubro

A tela de seleção de interesses e a aba "For you" foram encontradas em meados de outubro apenas na versão beta do Telegram para macOS — em um programa compilado, sem código-fonte, e na época não eram conhecidos nem a lista de temas, nem as assinaturas dos métodos. Agora, tanto os temas quanto os métodos são conhecidos, e quais avaliações o cliente oferece ao leitor.