TASE (mecanismo de busca de áudio de telegrama)
Um mecanismo de pesquisa de texto completo de áudio extremamente rápido no Telegram
Ele permite que os usuários encontrem de forma rápida e fácil informações de interesse ou valor genuíno, sem a necessidade de percorrer vários canais irrelevantes. Ele fornece aos usuários resultados de pesquisa que levam a informações relevantes sobre arquivos de áudio de alta qualidade.
Conteúdo
- O que torna a TASE especial?
- Como instalar e executar
- Características
- Pilha de tecnologia
- Chamada para Contribuições
- Licença e pessoas
O que torna a TASE especial?
TASE é uma plataforma crescente de mecanismo de pesquisa de áudio de texto completo de código aberto que atende a solicitações de alto volume de usuários. Baseada em Python e Telegram, a última grande atualização introduz muitos novos recursos, entre os quais um padrão de design modular e altamente abstraído desenvolvido por Elasticsearch e ArangoDB com suporte para clusters paralelos em diferentes servidores localizados em diferentes partes do mundo.
TASE em resumo
- Mecanismo avançado de pesquisa de texto completo para arquivos de áudio
- Indexador de arquivos de áudio extremamente rápido (benchmark: mínimo de 4 milhões de músicas por dia por cliente)
- Suporte para vários clientes paralelos como indexador
- Suporte para clusters paralelos distribuídos em vários servidores (pesquisa e indexação) (todos os arquivos de áudio, gráficos e modelos de documentos)
- Gráfico de usuários e itens
- URLs dinâmicos
- Assíncrono
- Acesse ferramentas administrativas
- Multilíngue
- Cache de arquivo de áudio
- Fácil configuração e personalização
- Aparência amigável
TASE é gratuito e sempre será. Ajude-nos… Se você adora coisas grátis e ótimos softwares, dê-nos uma estrela! :estrela::estrela2:
Como instalar e executar
* Nota: certifique-se de ler a seção de configuração e personalização antes de executar o projeto Existem duas maneiras diferentes de usar o TASE
(*nota: antes de executar o projeto, certifique-se de configurar os arquivos tase.json e .env) Clonar o repositório
Configurando serviços:
Instale manualmente as dependências
- Instale o Elasticsearch (v8.3) (instruções)
- Instale ArangoDB (v3.9.1) (instruções)
- Instale RabbitMQ (instruções)
- Instale o Redis (instruções)
Execute usando docker compose
O método mais fácil (recomendado) (*nota: antes de executar o projeto, certifique-se de configurar o arquivo tase.json) docker compor -d
* instale o docker compose se ainda não o fez (instruções)
- * instale poesia se ainda não o fez (instruções)
- Execute o arquivo tase_client.py localizado no pacote tase
Configuração e personalização
Antes de executar seu projeto, você precisa customizar o arquivo tase.json no diretório raiz que é usado como arquivo de configuração pelo TASE
Para executar o projeto você deve fornecer informações básicas com as quais o bot trabalha. Por exemplo, você deve fornecer o token do bot do Telegram e as informações de autenticação do cliente do Telegram para executar seus próprios clientes.
Características
Recursos para desenvolvedores
- Adicione novos idiomas em localidades (recomendamos usar Poedit)
- Adicione facilmente novos botões e funcionalidades (consulta e inline) implementando os métodos abstratos na classe base do botão
- Visualizações em tempo real para modelos gráficos e arquivos de áudio (Kibana, ArangoDB)
- Abstração e padrão de design de fachada
Ampla gama de recursos
Mecanismo de busca
- Pesquise arquivos de áudio por meio da pesquisa direta do bot
- Pesquise arquivos de áudio de grupos e chats privados usando a menção @bot_name e envie-os diretamente para o chat
- Pesquisa em tempo real usando a menção @bot_name, mostrando uma lista embutida de resultados
- Pesquisa em tempo real diretamente nos chats privados e em grupo
- Pesquisa com base no nome do arquivo, nome do artista e nome do áudio
- Mostra os 10 principais resultados relevantes em uma mensagem e ilimitados em mais resultados; retornado como uma lista embutida
- Reproduza as músicas nas listas inline antes de baixá-las
- Armazena arquivos de áudio pesquisados em cache para evitar solicitações de banco de dados redundantes desnecessárias
- URL dinâmico para os resultados
- Permite que o proprietário rastreie os arquivos de áudio baixados
- Alta precisão e relevância
- Pesquise em uma ampla variedade de idiomas
- Mostrar o nome do canal de origem e o link para o arquivo
- Classifique os resultados no modo reverso (para obter resultados mais relevantes na parte inferior)
Captura de tela do exemplo de pesquisa
Captura de tela do exemplo de áudio do resultado
Recursos de indexação
- Encontra automaticamente novos canais de forma otimista (primeiro assume que é um canal válido e valida-o mais tarde antes de começar a indexar)
- Extrair de textos e legendas
- Extraído de "menção encaminhada"
- Extrair dos links
- Indexa automaticamente novos canais
- Itera pelos canais anteriores e retoma a indexação do ponto de verificação anterior
- Indexação extremamente rápida (mínimo de 4 milhões de músicas por dia por cliente
- Analisa canais e calcula uma pontuação (0-5) com base em seus
- Densidade de arquivos de áudio (proporção de arquivos de áudio
- Atividade do canal (com que frequência ele compartilha novos arquivos)
- Número de membros
- Evita ser banido pelos servidores do Telegram
- Suporte para indexação paralela usando vários clientes Telegram
- Faz hash dos IDs dos arquivos de uma maneira específica que evita conflitos em alto grau e ainda os mantém com apenas oito caracteres
- Usuários e proprietários de canais podem enviar solicitações para indexar um canal específico usando "/index channel_name"
- Constrói um gráfico para usuários e arquivos de áudio em tempo real que pode ser usado para sistemas de recomendação e tarefas de previsão de links
Recursos de limitação/controle de usuário
- Gerencie a associação de usuários em seus canais quase em tempo real
- Defina limitações para usuários com base no status de associação
- Limita usuários não-membros a pesquisar 5 arquivos de áudio livremente e, em seguida, eles devem esperar um minuto até receberem os arquivos de áudio pesquisados
- Não membros têm limitações com pesquisas diretas no chat
Interface do usuário
- Guia do usuário
- Vários menus (início, ajuda, lista de reprodução etc.)
- Um teclado para cada parte para facilitar o processo para os usuários
- Bot multilíngue - atualmente compatível:
- ?? Inglês
- ?? Espanhol
- ?? russo
- ?? árabe
- ?? Português
- ?? hindi
- ?? Alemão
- ?? Curdo (Sorani)
- ?? Curdo (Kurmanji)
- ?? Holandês
- ?? italiano
- ?? persa
- Mensagens de saudação para usuários com base em suas atividades, caso eles não estejam ativos há mais de uma semana ou mais de duas semanas
- Mostra o histórico de pesquisa de cada usuário por meio de uma lista embutida rolável pressionando o botão histórico no teclado inicial
- Interface de usuário bonita e vibrante (mensagens e emojis)
Listas de reprodução
- Os usuários podem ter listas de reprodução ilimitadas e salvar arquivos de áudio ilimitados em cada uma.
- Os usuários podem editar os metadados da playlist
- Os usuários podem editar arquivos de áudio salvos
Captura de tela do menu principal
Recursos de administração
- Visualização gráfica em tempo real (suporta painel ArangoDB)
- Visualização de arquivos de áudio indexados em tempo real (suporta painel Kibana)
* Kibana é uma ferramenta de visualização e exploração de dados usada para análise de logs e séries temporais, monitoramento de aplicativos e casos de uso de inteligência operacional. Ele oferece recursos poderosos e fáceis de usar, como histogramas, gráficos de linhas, gráficos de pizza, mapas de calor e suporte geoespacial integrado.
Outro
- Extremamente rápido
- A documentação é fornecida nos códigos (docstring)
- Lida com exceções relacionadas ao banco de dados
- Pesquisa multithread (pesquisa várias solicitações de forma assíncrona)
- Lida perfeitamente com textos RTL
Pilha de tecnologia
As principais ferramentas e tecnologias utilizadas no desenvolvimento do TASE são as seguintes:
- Elasticsearch
- ArangoDB
- Pirograma
- Python get_text
- Salsão
- CoelhoMQ
- Redis
- Pidantico
- Jinja
Chamada para Contribuições
Agradecemos sua experiência e entusiasmo!
Maneiras de contribuir com o mecanismo de busca de áudio Telegram:
- Escrevendo código
- Revise solicitações pull
- Desenvolva tutoriais, apresentações, documentação e outros materiais educacionais
- Traduzir documentação e conteúdo leia-me
Adoramos suas contribuições e fazemos o nosso melhor para fornecer orientação e apoio. Se você está procurando um problema para resolver, dê uma olhada nos problemas.
Problemas
Se você encontrar algum problema nos códigos, relate-o aqui. A melhor maneira é bifurcar o repositório no Github e/ou criar uma solicitação pull.
Trabalho futuro
Se você achou útil, por favor, dê-nos um
Licença
TASE é licenciado sob a Licença Apache, Versão 2.0. Consulte LICENÇA para obter o texto completo da licença.
Direitos autorais © 2020-2022
- Soran Ghaderi ([email protected])
- Site pessoal: soran-ghaderi.github.io
- Linkedin: Soran-Ghaderi
- Twitter: SoranGhadri
- Taleb Zarhesh ([email protected])
- Linkedin: Taleb Zarhesh
- Twitter: Taleb Zarhesh