koishi-plugin-mumble-out
v0.0.4
Published
mumble相关功能,查询在线,进出通知
Downloads
593
Maintainers
Readme
koishi-plugin-mumble-out
基于 mumble-client + mumble-client-tcp 的 Koishi 插件,支持 multi 与 ice 两种监听实现。
功能
- 连接 Mumble 服务器并自动重连。
- 转发频道文本消息到 Koishi。
- 转发用户进入/离开频道事件。
- 可选多频道监听:默认仅机器人所在频道,开启后可覆盖所有频道并跟踪新建频道。
- 提供在线用户查询指令(按频道分组)。
配置示例
当然我觉得你看这里不如直接去webui看
plugins:
mumble-out:example:
groups:
- onebot:123456789
# 连接配置
host: mumble.example.com
port: 64738
username: '[bot]koishi'
password: ''
tlsRejectUnauthorized: false
tlsServername: ''
preferIPv4: true
connectTimeout: 10000
reconnectInterval: 5000
# 转发配置
announceJoinLeave: true
includeSelfInOnline: false
onlineCommand: mumble.online
messageDedupeWindow: 1500
# 多频道监听开关(核心)
enableMultiChannelListen: false
listenMode: multi
# multi 观察者命名
watcherNamingMode: channel-name
watcherNameTemplate: '[bot]{channel}'
watcherSuffix: -watch-
maxWatcherConnections: 50
# 语音行为(建议保持默认,避免收发语音)
defaultSelfMute: true
defaultSelfDeaf: true
# ICE 配置(listenMode=ice 时使用)
iceEndpoint: ''
iceSecret: ''
iceSlicePath: ''
iceBridgeScriptPath: ''
icePythonCommand: python
iceAdapterModule: ''
iceAdapterExport: startIceListener
iceFallbackToMulti: true监听模式说明
enableMultiChannelListen: false- 只监听机器人当前所在频道(无观察者连接)。
listenMode不产生实际差异。
enableMultiChannelListen: true+listenMode: multi- 为各频道创建观察者连接,覆盖全部频道文本并跟踪新建频道。
enableMultiChannelListen: true+listenMode: ice- 启动 Python ICE 桥接监听。
- 若启动失败且
iceFallbackToMulti: true,自动回退multi。
ICE 模式最小配置(笑死,根本用不了)
plugins:
mumble-out:example:
enableMultiChannelListen: true
listenMode: ice
iceEndpoint: 127.0.0.1:6502
iceSecret: 'YOUR_ICE_SECRET'
iceSlicePath: external/mumble-out/src/MumbleServer.ice
icePythonCommand: python
iceFallbackToMulti: true字段说明:
iceEndpoint: Murmur ICE 端点(host:port)。iceSecret: Murmur ICE 密钥(通过 context 传给 ICE 代理)。iceSlicePath:MumbleServer.ice路径,留空自动探测。iceBridgeScriptPath:ice_bridge.py路径,留空自动探测。icePythonCommand: Python 命令(常见为python或py)。iceFallbackToMulti: ICE 启动失败时自动回退到multi。
依赖要求:
- 已安装 Python。
- 已安装
zeroc-ice(例如pip install zeroc-ice)。
使用说明
- 启动 Koishi 后,插件自动连接 Mumble。
- 频道聊天会转发到
groups指定会话。 - 私聊消息不转发。
- 进出频道消息示例:
大厅-[Alice]:进入频道大厅-[Alice]:离开频道
- 在线查询指令:
mumble.onlinemb谁在mumble
排错建议
- 连接被拒绝:检查用户名、密码、证书校验与服务器策略。
- 收不到转发:确认
groups会话 ID 有效。 - 测试环境临时跳过证书校验:
tlsRejectUnauthorized: false。 - 查看日志:在 Koishi 控制台筛选
mumble-out。
Clash TUN / ECONNRESET
当出现 ECONNRESET 且官方客户端正常,常见是 DNS/路由/SNI 路径差异。可先尝试:
plugins:
mumble-out:example:
host: mumble.example.com
port: 64738
tlsRejectUnauthorized: false
tlsServername: mumble.example.com
preferIPv4: true
connectTimeout: 10000若仍失败,可在代理规则中为 node.exe 或目标域名单独配置直连进行对比测试。
