返回顶部
t

telegram-voice-groupTelegram语音群发

向指定 Telegram 群组发送语音消息

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.5
安全检测
已通过
3,024
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

telegram-voice-group

Telegram 群组语音消息发送 (telegram-voice-group) 🔊

使用 Telegram 群组话题功能实现隔离上下文替代 Discord,并可以指定 Telegram 群组发送语音消息。

功能

  • - 使用 Microsoft Edge-TTS 生成高质量中文语音
  • 转换为 Telegram 语音气泡兼容格式
  • 发送到指定的群组会话
  • 话题独立上下文:每个 Telegram 话题都有独立的会话上下文,格式为 agent:main:telegram:group:{groupId}:topic:{threadId}
  • 会话隔离:不同话题间的对话历史和上下文完全隔离,互不干扰,这使得 Telegram 群组话题功能可以有效替代 Discord 频道的组织功能
  • 支持向特定话题发送语音消息

依赖

  • - edge-tts - 用于生成语音
  • ffmpeg - 用于格式转换

部署到 Telegram 群组完整教程

1. 创建 Telegram 群组

  • - 打开 Telegram 应用
  • 点击右上角的 + 按钮
  • 选择 新建群组 或 New Group
  • 添加成员并设置群组名称和头像

2. 邀请 OpenClaw Bot 到群组

  • - 在群组中点击群组名称进入群组信息页面
  • 点击 添加成员 或 Add Member
  • 搜索并选择你的 OpenClaw Bot(例如 @youropenclawbot)
  • 点击 添加 或 Add

3. 赋予 OpenClaw Bot 群组管理权限

  • - 在群组信息页面,点击 OpenClaw Bot 的用户名
  • 选择 提升为管理员 或 Promote to Admin
  • 授予以下权限:
- 删除消息 (Delete Messages) - 编辑群组信息 (Edit Group Info) - 发送消息 (Send Messages) - 发送媒体 (Send Media) - 限制成员 (Restrict Members) - 封禁成员 (Ban Members) - 添加管理员 (Add Admins) - 可选,根据需要

4. 获取群组的链接和 ID

  • - 点击群组头像进入群组信息页面
  • 点击 群组类型 或 Group Type 下方的 群组链接 或 Group Link
  • 复制群组链接(例如 https://t.me/yourgroupname)
  • 群组 ID 通常是链接后面的部分,或者在某些客户端可以直接看到数字 ID

5. 创建话题并获取话题序号

  • - 在群组中,点击底部的 + 按钮
  • 选择 新建话题 或 Create Topic(如果群组启用了话题功能)
  • 设置话题名称
  • 点击话题头像进入话题详情
  • 查看邀请链接,链接末尾的数字即为话题序号(例如 https://t.me/yourgroupname/123 中的 123)

6. 在 OpenClaw 中配置群组和话题

  • - 将群组链接和 ID 发送给 OpenClaw Bot
  • 将话题序号发送给 OpenClaw Bot
  • 使用如下命令格式发送语音消息:

向 agent:main:telegram:group:[GROUPID]:topic:[TOPICID] 发送语音: 你的语音内容

使用方法

1. 直接在会话中使用此功能:

向 {群组会话键} 发送语音: {语音内容}

例如:
向 agent:main:telegram:group:[GROUPID]:topic:[TOPICID] 发送语音: 大家好,我是[ASSISTANTNAME],[NICKNAME]的AI助理。很高兴在[MOLTBOTCOMMUNITY]社区与大家见面,祝大家交流愉快!

2. 通过 sessions_spawn 调用:

js
await sessions_spawn({
task: 向 agent:main:telegram:group:[GROUPID]:topic:[TOPICID] 发送语音: 这是一条测试消息,
agentId: telegram-voice-group
})

3. 直接调用函数(在JS环境中):

js
const { sendVoiceToTelegramGroup } = require(./index.js);
await sendVoiceToTelegramGroup({
text: 语音内容,
groupId: agent:main:telegram:group:[GROUPID]:topic:[TOPICID],
voice: zh-CN-XiaoxiaoNeural,
rate: +5%
});

4. 向特定话题发送语音消息:

可通过 threadId 参数向特定话题发送语音消息:

js
const { message } = require(@openclaw/core);

await message({
action: send,
channel: telegram,
to: [GROUP_ID],
message: 语音消息内容,
asVoice: true,
media: 语音文件路径,
threadId: [TOPIC_ID] // 指定话题ID
});

5. 使用函数发送到指定话题:

js
const { sendVoiceToTelegramGroup } = require(./index.js);
await sendVoiceToTelegramGroup({
text: 语音内容,
groupId: agent:main:telegram:group:[GROUPID]:topic:[TOPICID],
voice: zh-CN-XiaoxiaoNeural,
rate: +5%,
threadId: [TOPIC_ID] // 可选:指定话题ID
});

实现逻辑

当检测到用户请求向群组发送语音消息时,系统将自动执行以下步骤:

  1. 1. 使用 edge-tts 生成语音文件
bash edge-tts --voice zh-CN-XiaoxiaoNeural --rate=+5% --text 语音内容 --write-media /tmp/voice_msg.mp3
  1. 2. 使用 ffmpeg 转换为 Telegram 兼容格式
bash ffmpeg -y -i /tmp/voicemsg.mp3 -c:a libopus -b:a 48k -ac 1 -ar 48000 -application voip /tmp/voicemsg.ogg
  1. 3. 使用 message 工具发送语音文件到指定群组
bash message({action: send, channel: telegram, to: [GROUPID], message: , asVoice: true, media: /tmp/voicemsg.ogg, threadId: [TOPIC_ID]})

参数

  • - 语音内容: 要转换为语音的文本
  • 群组会话键: 目标群组的完整会话键

技术规范

  • - 生成 MP3 格式临时音频
  • 使用 FFmpeg 转换为 Telegram 兼容的 OGG Opus 格式
  • 音频参数:libopus编码,48k比特率,单声道,48kHz采样率,VOIP应用类型
  • 使用 asVoice: true 参数确保以语音气泡形式发送,而非文件
  • 自动清理临时文件
  • 文本格式清洗:自动移除 Markdown 标记、URL 链接和特殊符号,避免朗读出标记符号

文本格式清洗

为避免朗读出标记符号,技能会自动清洗文本内容:

需移除示例
Markdown 标记加粗、 代码 、# 标题
URL 链接
https://example.com |
| 特殊符号 | ---、*、>>> |

话题功能详解

完全替代 Discord 的能力

  • - 话题独立上下文:每个 Telegram 话题都有独立的会话上下文,格式为 agent:main:telegram:group:{groupId}:topic:{threadId}
  • 会话隔离:不同话题间的对话历史和上下文完全隔离,互不干扰
  • 模型独立设置:可以在不同的话题中设置不同的 AI 模型
  • 上下文独立:每个话题维护自己的对话历史,就像 Discord 的不同频道一样

在不同话题中设置不同模型

  • - 通过 OpenClaw 的会话管理功能,可以为每个话题(agent:main:telegram:group:{groupId}:topic:{threadId})单独配置 AI 模型
  • 每个话题的上下文完全独立,不会相互影响
  • 支持多话题并行运行,每个话题可以有不同的功能和配置

注意事项

  • - 机器人必须已在目标群组中
  • 需要相应的消息发送权限
  • 语音内容应适合群组环境
  • 清洗后的文本将用于语音生成,确保朗读效果
  • 每个 Telegram 话题都有独立的会话上下文,格式为 agent:main:telegram:group:{groupId}:topic:{threadId}
  • 不同话题间的对话历史和上下文完全隔离,互不干扰,这使得 Telegram 群组话题功能可以有效替代 Discord 频道的组织功能

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 telegram-voice-group-1776371171 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 telegram-voice-group-1776371171 技能

通过命令行安装

skillhub install telegram-voice-group-1776371171

下载

⬇ 下载 telegram-voice-group v0.1.5(免费)

文件大小: 13.54 KB | 发布时间: 2026-4-17 15:48

v0.1.5 最新 2026-4-17 15:48
Initial public release with documentation and implementation.

- Added core implementation files: index.js and send_telegram_voice.js
- Provided full usage, API, feature, dependency, and use case documentation (README.md, FEATURES.md, USE_CASES.md, DEPENDENCIES.md, TELEGRAM_TOPICS.md)
- Introduced skill for sending TTS voice messages to specific Telegram group topics with context isolation
- Integrated message text cleanup and audio conversion to Telegram-compatible format
- Included installation and group setup instructions for Telegram

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部