samplevoicebot
1.0.0
電報文本到語音機器人。它在內聯和文本模式下都可以使用,並提供了一個方便的界面來從文本中生成語音。
嘗試一下:@SampleVoiceBot。
機器人需要一個AWS帳戶才能工作。它使用Amazon Polly生成語音和S3來存儲和共享生成的語音文件。
Bot是通過config.py列出的環境變量配置的。
下表顯示了所需的參數:
| 範圍 | 描述 |
|---|---|
TELEGRAM_BOT_TOKEN | @botfather發行的令牌 |
AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY | AWS證書 |
AWS_S3_BUCKET | AWS存儲桶名稱將存儲在其中 |
AWS_REGION_NAME | AWS區域名稱您的存儲桶所在的位置,例如us-east-1 |
其他參數:
| 範圍 | 值 | 預設 | 描述 |
|---|---|---|---|
TELEGRAM_ADMIN_ID | int | -1 | 用戶ID-此機器人的管理員 |
TELEGRAM_MIN_MESSAGE_LENGTH | int | 1 | 最小消息長度生成語音 |
TELEGRAM_MAX_MESSAGE_LENGTH | int | 255 | 生成語音的最大消息長度(內聯消息不能超過256個字符) |
TELEGRAM_INLINE_DEBOUNCE_MILLIS | int | 1000 | 訪問內聯請求以避免不必要的語音世代 |
LANGUAGE_DETECT_MAPPINGS | str | 語言映射格式from=to 。可以通過逗號(例如mk=ru,bg=ru,uk=ru連接多個替代 | |
MAX_WORKERS | int | 4 | 許多用於並發工作的工人(例如語音綜合) |
PREFETCH_LANGUAGES | str | 列表語言(例如ru,en )以pretch聲音列表*在bot啟動上 | |
VOICES | str | 指定要使用的聲音,例如ru-RU=Tatyana,Maxim 。加入多個映射; 。支持的聲音清單 | |
DEBUG | | 0 | 啟用/禁用詳細記錄 |
*在內聯模式下,bot僅使用每種語言的2個聲音來最大程度地減少綜合請求
需要一個不受限制的,未經授權的公共訪問對像中對象的訪問。這可以通過遺願策略來實現:
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " PublicRead " ,
"Effect" : " Allow " ,
"Principal" : " * " ,
"Action" : " s3:GetObject " ,
"Resource" : " arn:aws:s3:::samplebucket/* "
}
]
} * samplebucket必須用您的偏置名稱代替。
有關更多信息,請參見文檔。
圖像可在ghcr.io中找到。
$ docker build -t samplevoicebot .
創建一個名為.env的文件並放置您的憑據,例如:
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>
跑步:
$ docker run -d --env-file .env samplevoicebot