O bot feito para esconder os spoilers enviados.
Eu e uns amigos estávamos acostumados a utilizar um bot para enviar spoilers em um grupo de discussões de anime, mas tal bot parou de funcionar. Foi quando eu decidi fazer a minha versão de um bot assim, para podermos, desta maneira, continuar enviando conteúdos sensíveis sem afetar àqueles que ainda não leram o capítulo do mangá ou até mesmo viram o episódio do anime.
Você pode ver quantos spoilers foram enviados até agora aqui:
obs: todos os spoilers são armazenados por uma semana apenas!
Por padrão os comandos se encontram por em Inglês mas possuem seu equivalente em Português:
Primeiro de tudo, abra uma conversa com o @ispoilerbot.
obs: links são encurtados automaticamente.
Basicamente há dois tipos de spoilers, os de leve peso, que não pedirão ao usuário permissão para serem mostrados, e os de pesado peso, que pedirão tais permissões.
O modo inline funciona em qualquer conversa:
@ispoilerbot spoiler a ser enviado como texto
Exemplo:
@ispoilerbot L morre!
E você pode também enviar o spoiler nomeando ele:
@ispoilerbot spoiler a ser enviado como texto "nome do spoiler"
Example:
@ispoilerbot L morre! "Death Note"
Spoilers pesados com:
E aqueles spoilers sensuais com -- essa opção foi adicionada como uma maneira de evitar algum problema com as politicas da Apple caso atualizem ela:
Caso precise de mais informações, abra uma conversa com o bot e digite:
/help
Você pode construír um bot similar a este, eu escrevi um tutorial sobre isso no meu Podesearch Bot, basta seguir os procedimentos citados em BUILDING_PT.md.
Esse bot está rodando no Heroku através de integração direta do Github, isso significa que cada nova push para a branch master
representa o código que está atualmente servindo de diretriz por bot. Você pode verificar mais como o bot está rodando através do arquivo Procfile. Você também pode enviar uma cópia direta desse código para o Heroku através do seguinte botão:
Como há uma integração com o Travis CI e Codecov. Os testes foram escritos com o Jest.
npm test
Todos os códigos em schedule não são testados porque são simplesmente "timers" para as outras açóes já implementadas e testadas. E aqueles na pasta stats também, mas porque servem apenas para calcular o número de spoilers enviados para ser usado na badge.
Se algum erro for reportado durante este processo relacionado com dependências utilizadas e você gostaria de ver como lidar com elas, leia mais em Segurança.
Eu adicinei uma integração com Snyk para garantir que todas as dependências utilizadas não tenham erros ou bugs não concertados antes da Integração Contínua (CI) para garantir o Desenvolvimento Contínuo (CD).
Se o Snyk reportar algum error ou bugs que podem ser corrigidos, apenas siga os passos da ferramenta em como lidar com tais problemas -- para mais ajuda, leia a documentação deles.
- dotenv
- emoji-regex
- mongoose
- node schedule
- telegraf
- telegraf-i18n
- telegraf-session-local
- tiny-shortener
Typescript puro e simples, além dos padrões de linter da Microsoft.
Eu fiz todos os desenhos do bot, Boku No Hero foi minha inspiração para.
Você pode ver mais na past img.
Por favor, eu não sou nativo/fluente em Inglês, então se você ver uma variável escrita errada ou até mesmo um comentário que eu escrevi de maneira errada, me avise. Contribuições não necessariamente devem ser feitas através de código apenas, elas tem a ver com melhorar o que já está presente das mais diversas maneiras para que mais pessoas possam aprender sobre.
Caso seja o código ou não, você pode me ajudar lendo as diretrizes no arquivo CONTRIBUTING_PT.md.
Eu adoraria dizer que SemVer ou algo do tipo fora utilizado porém, em experiência pessoal, esse tipo de aborgaem não funciona muito bem comigo, o cara que pode comitar várias vezes esse projeto por duas semanas seguidas e passar um anos sem dar um simples npm update
no projeto. Então, não se é utilizado sistemas de versionamento.
Como esse README estará sendo atualizado com as mudanças importantes, não pretendo utilizar nenhum histórico de atualizações de bugs corrigidos ou novas funcionalidades. Todavia, você pode ter uma noção do que virá e o que está sob análise na aba de Projects -- aviso: o conteúdo se encontra em Inglês.
- Apenas eu até agora.
Considere me comprar um café:
Ou até mesmo se tornar um padrinho:
Estou analisando a possibilidade de se colocar PicPay e Padrim -- já que são opções muito utilizadas no Brasil.
Assim como muitos projetos de código livre, a licença MIT é utilizada aqui. Mais sobre em LICENSE.