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 | 1 0 | 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