Antecedentes e problemas
Quando mudei do VK para o Telegram, escolhendo este último como principal mensageiro, encontrei uma série de inconvenientes: o carrinho não possui o feed de notícias de costume e todo o conteúdo deve ser coletado pelos canais. O VK tem a funcionalidade de grupos (mensagens das quais são coletadas no feed), mas sempre fiquei furioso com a presença de propagandas explícitas, postagens de anúncios e outras lixos que não queria ver no feed.
Ao mesmo tempo, quando VK começou a empurrar suas recomendações para o feed (eles não podem ser desligados de jeito nenhum), usei adblock, clientes Android alternativos (kate mobile), mas todas essas meias medidas eram desgastantes.
No carrinho, assim que o número de canais aumentava, a necessidade de entrar em cada um era muito chata. E quando havia cerca de 30 deles, comecei a marcar em alguns, porque cansado de ir e vir sobre eles.
Além disso, de repente, muitos canais começaram a fazer spam com links cruzados com anúncios. Tudo bem, se forem postagens afiliadas de canais semelhantes. Na maioria das vezes, eram todos os tipos de inglês, cursos de Python e, às vezes, até mesmo um golpe sobre um cassino ou uma cripta.
Ideia e implementação
Foi assim que surgiu a ideia de criar um agregador de canais de telegramas com filtragem por palavras-chave (que costumam ser encontradas em postagens de anúncios).
Estou ciente da funcionalidade de agrupamento de canais em alguns clientes, mas por algum motivo ela não me convém:
o agrupamento só funciona no nível do cliente. Aqueles. canais agrupados no aplicativo móvel não serão agrupados na versão web ou outro cliente
é impossível (pelo menos eu não encontrei) agrupar chats e canais
a filtragem de spam e anúncios não está disponível
Eu ia exportar o conteúdo agregado para rss (mais sobre isso na segunda parte do artigo)
Depois de pesquisar no Google as ferramentas existentes para trabalhar com o carrinho, decidi pela biblioteca python telethon. Sua principal característica era a capacidade de trabalhar em modo cliente, não em um bot (mais sobre isso a seguir, nas nuances).
O que mais é o capô:
teleton como cliente de telegrama
assíncio para assíncrono
peewee e sqlite3 para armazenar informações sobre quem assinou o quê.
As postagens das próprias assinaturas não são salvas, são enviadas rapidamente
: , .
, . , :
( 5-7 ), , / ( , feed).
.1, ( .. ), . , , .. . telethon' . .. telethon- . , , , , , . , .
.2, ( ) ( , ). - . .
, , ( ), mvp.
?
:
( -, ), .
( ), ()
(@telegregator) ( ).
.
/join @_ (. .1), . , ( , 50 ).
, .
.
. ( , - - ).
: , , . , 5-10 . ( ), - . , .
, . - .
:
( , )
. , 200, , .
- , , - . , , .
, .
- ?
, :
, , , , . . - .
, RSS
RSS-. , .. , rss, . - : rss . . - , , , .
rss , :
http://feed.exileed.com/
https://rsshub.app/telegram/channel/temablog
:
(, , )
( )
, telegram->rss. , -, ( ) rss-. , , . , . : http://tg2rss.prosto-tak.ru/.
Em caso de dúvidas ou comentários, você pode escrever aqui no PM, no carrinho @parotikov ou em nik.parotikov@gmail.com.
PS Em "I'm PR" não há carma suficiente. Não há nenhum hub para telegrama, estranho.