Telegrama de texto para fala. Funciona no modo embutido e de texto e oferece uma interface conveniente para gerar voz a partir do texto.
Experimente: @SampleVoiceBot.
O BOT exige que uma conta da AWS funcione. Ele usa a Amazon Polly para gerar voz e S3 para armazenar e compartilhar arquivos de voz gerados.
O bot é configurado por meio de variáveis ambientais, listadas em config.py .
A tabela abaixo mostra os parâmetros necessários:
| Parâmetro | Descrição |
|---|---|
TELEGRAM_BOT_TOKEN | Token emitido por @botfather |
AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY | Credenciais da AWS |
AWS_S3_BUCKET | Nome do balde da AWS onde os arquivos serão armazenados |
AWS_REGION_NAME | Nome da região da AWS, onde seu balde está localizado, por exemplo us-east-1 |
Outros parâmetros:
| Parâmetro | Valores | Padrão | Descrição |
|---|---|---|---|
TELEGRAM_ADMIN_ID | int | -1 | ID do usuário - Admin deste bot |
TELEGRAM_MIN_MESSAGE_LENGTH | int | 1 | Comprimento mínimo da mensagem para gerar voz |
TELEGRAM_MAX_MESSAGE_LENGTH | int | 255 | Comprimento máximo da mensagem para gerar voz (as mensagens embutidas não podem exceder 256 caracteres) |
TELEGRAM_INLINE_DEBOUNCE_MILLIS | int | 1000 | Intervalo de debounce para solicitações de entrada em linha para evitar gerações desnecessárias de voz |
LANGUAGE_DETECT_MAPPINGS | str | Mapeamentos de idiomas em formato from=to . Várias substituições podem ser unidas com vírgulas, por exemplo mk=ru,bg=ru,uk=ru | |
MAX_WORKERS | int | 4 | Vários trabalhadores usados para empregos simultâneos (por exemplo, síntese de fala) |
PREFETCH_LANGUAGES | str | Lista de idiomas (por exemplo ru,en ) para pré -buscar a lista de vozes* na inicialização do bot | |
VOICES | str | Especifique vozes a serem usadas, por exemplo, ru-RU=Tatyana,Maxim . Junte -se a vários mapeamentos com ; . Lista de vozes suportadas | |
DEBUG | 1 , 0 | 0 | Ativar/desativar o registro detalhado |
* No modo embutido, o bot usa apenas 2 vozes por idioma para minimizar as solicitações de sintetização
É necessário um acesso público irrestrito e não autorizado aos objetos no balde. Isso pode ser alcançado com a política de balde:
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " PublicRead " ,
"Effect" : " Allow " ,
"Principal" : " * " ,
"Action" : " s3:GetObject " ,
"Resource" : " arn:aws:s3:::samplebucket/* "
}
]
} * samplebucket deve ser substituído pelo seu nome de backet.
Consulte os documentos para obter mais informações.
As imagens estão disponíveis no ghcr.io.
$ docker build -t samplevoicebot .
Crie um arquivo chamado .env e coloque suas credenciais, por exemplo:
AWS_ACCESS_KEY_ID=<your-aws-access-key-id>
AWS_SECRET_ACCESS_KEY=<your-aws-secret-access-key>
AWS_REGION_NAME=<aws-region-name>
AWS_S3_BUCKET=<your-s3-bucket-name>
TELEGRAM_BOT_TOKEN=<your-telegram-bot-token>
<any-additional-parameters>
Correr:
$ docker run -d --env-file .env samplevoicebot