Envio automático de feed RSS no Telegram! Funciona com envios para pessoas, grupos e canais, públicos ou privados.
Configuração
Faça um fork do repositório original, clicando em fork.
Obrigatórias
Vá em Settings, Secrets, Actions e crie a variável:
BOT_TOKEN: Token do bot que fará os envios. Fale com o @BotFather caso não tenha um;DESTINATION: IDs ou@de quem receberá as mensagens;URL: Lista de urls dos feeds separados por vírgulas.
As variáveis
DESTINATIONeURLpodem ser criadas emSecretsou em arquivos.txt, prevalecendo o que estiver emSecrets. Ou seja, caso crieDESTINATION.txtouURL.txté necessário remover o respectivoSecret.
Opcionais
MESSAGE_TEMPLATE: Mensagem a ser enviada. Veja a lista de componentes abaixo;BUTTON_TEXT: Texto do botão a ser enviado. Veja a lista de componentes abaixo;EMOJIS: Emojis que serão sorteados aleatoriamente a cada envio. Lista pré-definida:🗞,📰,🗒,🗓,📋,🔗,📝,🗃;PARAMETERS: Parâmetros a serem acrescentados ao link. Exemplo:utm_source=telegram&utm_medium=telegrammessage&utm_campaign=rss2telegram.
Componentes
Tanto o corpo da mensagem quanto o botão podem conter textos, emojis e/ou um dos componentes pré-definidos.
{SITE_NAME}Contém o nome do site;{TITLE}É o título do post;{SUMMARY}Corpo do texto do tópico do RSS;{LINK}Link para o post completo;{EMOJI}Emojis que serão sorteados aleatoriamente no momento do envio. Crie sua lista de emojis na variável EMOJIS.
Filtros
Por padrão, todos o conteúdo do feed é enviado. Para criar regras de filtros, crie um arquivo chamado RULES.txt e adicione as regras conforme a necessidade. As regras serão lidas em ordem!
O valor de
termoindepende de minúsculas ou maiúsculas
ACCEPT:ALL: Todas as mensagens serão enviadas;
DROP:ALL: Todas as mensagens não serão enviadas;
ACCEPT:termo: A mensagem será enviada se termo estiver presente;
DROP:termo: A mensagem não será enviada se termo estiver presente.
Ação
Ajustadas as variáveis, vá em Actions, Select workflow e clique em Enable workflow. A ação irá rodar a cada 1 hora para verificar as atualizações.
Para alterar o intervalo da ação basta alterar o arquivo .github/workflows/cron.yml.
Exemplos:
- cron: '0 */1 * * *': Faz a ação ser executada uma vez por hora;
- cron: '*/15 * * * *': Faz a ação ser executada uma vez a cada quinze minutos.
Exemplos de mensagens
Mensagem padrão
Mensagem padrão
MESSAGE_TEMPLATE: Não definido;
BUTTON_TEXT: Não definido.
Mensagem padrão com botão definido
Mensagem padrão com botão definido
MESSAGE_TEMPLATE: {EMOJI}{TITLE};
BUTTON_TEXT: {TITLE}.
Mensagem padrão com link no texto
Mensagem padrão com link no texto
MESSAGE_TEMPLATE: {EMOJI}<b>{TITLE}</b>\n\n{LINK};
BUTTON_TEXT: Não definido.
Exemplos de filtros
Todos as mensagens serão enviadas, menos as que tiverem o termo política
Conteúdo de RULES.txt:
1
2
ACCEPT:ALL
DROP:Política
Nenhuma mensagem será enviada, com exceção das mensagens com os termos futebol e vôlei
Conteúdo de RULES.txt:
1
2
3
DROP:ALL
ACCEPT:futebol
ACCEPT:vôlei
Observações
Bot somente envia mensagem para pessoas que já falaram com ele. Ou seja, é necessário que a pessoa tenha clicado ao menos uma vez em
Iniciarpara que o bot consiga enviar uma mensagem.Bot somente entra em canais como administrador.
Participe
Entre na aba Discussions no GitHub e vamos conversar sobre o projeto!
