功能
- 语音事件响应器(仅限私聊)
- 语音识别(仅限私聊,支持百度智能云、腾讯云接口)
- 语音合成(利用TX的tts接口)
安装
- 使用 nb-cli
nb plugin install nonebot-plugin-record
- 使用 pip
pip install nonebot_plugin_record
兼容性
支持的go-cqhttp(最新版本)协议
| protocol | 协议 | 收语音 | 发语音 |
| 1 | phone | 未知 | 未知 |
| 2 | watch | 不兼容 | 兼容 |
| 3 | MacOS | 兼容 | 不兼容 |
| 4 | 企点 | 未知 | 未知 |
| 5 | iPad | 兼容 | 兼容 |
| 6 | aPad | 兼容 | 不兼容 |
未知是未测试的情况;不兼容是没通过我的测试的情况,不一定准确,可能是我自己账号的封控问题,具体请自行测试
发现实际与我测试结果有出入的欢迎来这里讨论 https://github.com/itsevin/nonebot_plugin_record/issues/1
配置项
asr_api_provider="" # 必填,API提供商,填写“baidu”或“tencent”
asr_api_key="" # 必填,百度智能云的API_KRY或腾讯云的SECRET_ID
asr_secret_key="" # 必填,百度智能云的SECRET_KRY或腾讯云的SECRET_KEY
nonebot_plugin_gocqhttp=False # 选填,是否使用nonebot2插件版本的go-cqhttp,默认为False
gocqhttp_address="" # 选填,非插件版本go-cqhttp的运行目录,默认为“./”,非插件版本go-cqhttp和nonebot运行目录不同时须填写,插件版本不用填写, nonebot_plugin_gocqhttp=True 时该配置无效
gocqhttp_address 配置项可填绝对路径(如 /root/gocqhttp/ )或相对路径(如 ../../gocqhttp/ )
API选择与配置
选什么API?
- 百度智能云-短语音识别标准版:5并发,15万次免费调用量,期限180天
- 腾讯云-一句话识别:每月5000次免费调用量(推荐)
获取密钥
如何使用?
语音事件响应器的使用
语音事件响应器:on_record()
说明:语音事件响应器继承自on_message,在其上增加了自定义的相应事件响应规则
选填参数:
rule: 事件响应规则
permission: 事件响应权限
handlers: 事件处理函数列表
temp: 是否为临时事件响应器(仅执行一次)
expire_time: 事件响应器最终有效时间点,过时即被删除
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
代码示例:
# 导入依赖包
from nonebot import require
require('nonebot_plugin_record')
from nonebot_plugin_record import on_record
# 注册语音事件响应器
matcher = on_record()
获取语音中的文本
获取文本的异步函数:get_text()
必填参数:
bot: Bot 对象
event: Event 对象
代码示例:
# 导入依赖包
from nonebot import require
require('nonebot_plugin_record')
from nonebot_plugin_record import get_text
from nonebot.adapters.onebot.v11 import Event, Bot
# 事件处理中获取文本
text = await get_text(bot=bot, event=event)
当函数出错时会返回None,具体报错信息请前往Nonebot2进程日志查看
获取文本转换的语音的Message对象
获取文本转换的语音的Message对象的异步函数:record_tts()
必填参数:
patter: 要进行转换的字符串
代码示例:
# 导入依赖包
from nonebot import require
require('nonebot_plugin_record')
from nonebot_plugin_record import record_tts
# 事件处理中获取文本转换的语音的Message对象
record_tts(pattern=pattern)
插件示例
私聊语音聊天插件:
from nonebot.adapters.onebot.v11 import (
Event,
Bot
)
from nonebot import require
require('nonebot_plugin_record')
from nonebot_plugin_record import (
on_record,
get_text,
record_tts
)
import httpx
import json
chat = on_record()
@chat.handle()
async def main(bot: Bot, event: Event):
text = await get_text(bot, event)
msg = await get_data(text)
await chat.finish(record_tts(msg))
async def get_data(msg):
url = f'http://api.qingyunke.com/api.php?key=free&appid=0&msg={msg}'
async with httpx.AsyncClient() as client:
resp = await client.get(url)
get_dic = json.loads(resp.text)
data = get_dic['content']
return data
有问题怎么办?
- 确认是不是你自己的插件的问题
- 确认是否正确按照本插件使用说明使用
- 排查日志,通过日志内容尝试找出问题并自行解决
- 在配置文件中配置
LOG_LEVEL=DEBUG,然后在日志中查看debug日志,并同时根据本插件源码尝试找出问题并自行解决(确认是本插件的问题可以提issue或者pr) - 问题仍未解决可以提issue,要求提供详细问题描述和较为完整的debug级别的相关日志
更新日志
2023/6/8 [v1.0.5]
- 修复非插件版本go-cqhttp和nonebot运行目录不相同时的问题
- 优化日志输出
2023/5/13 [v1.0.4]
- 重构代码,舍弃CQ码过时写法
- 增加dubug和info级别的日志输出
2023/1/27 [v1.0.3]
- 修复错误
2023/1/15 [v1.0.2]
- 修复错误
2023/1/15 [v1.0.1]
- 适配Nonebot2商店插件自动检测,删除配置文件报错提醒
2023/1/15 [v1.0.0]
- 发布插件
Metadata
Release files for nonebot-plugin-record 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nonebot_plugin_record-1.0.5.tar.gz | 8.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nonebot_plugin_record-1.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.5 kB
Release files / nonebot_plugin_record-1.0.5.tar.gz
| Download URL | nonebot_plugin_record-1.0.5.tar.gz |
|---|---|
| Size | 8.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
890ea51767aa4306a882cfd06e5aed98381ec2bc7866b90aa7d70b5534aee0d6
|
|
BLAKE2b-256 checksum How to use checksums |
ea104bbc7cd6f08ecb568d8a6224be44076e21941f868871c9b2bfad4326c3f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.2 CPython/3.10.4 Windows/10
|
Release files / nonebot_plugin_record-1.0.5-py3-none-any.whl
| Download URL | nonebot_plugin_record-1.0.5-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d51a6b7218965dcb8eadc2a2a7bf2813e598db2b14cbba910bf93ecba6720173
|
|
BLAKE2b-256 checksum How to use checksums |
24646266a10a8f700bb7ef992f1f5531c7e51e13f24345bff644109734002a83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.2 CPython/3.10.4 Windows/10
|