From 2d06cd21099311508778b4a304a3ac46026ad441 Mon Sep 17 00:00:00 2001 From: James Hush Date: Thu, 20 Mar 2025 14:27:03 +0800 Subject: [PATCH] Send message when user is muted --- examples/simple-chatbot/server/bot-openai.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/examples/simple-chatbot/server/bot-openai.py b/examples/simple-chatbot/server/bot-openai.py index 03ecd13ba..8d42bd402 100644 --- a/examples/simple-chatbot/server/bot-openai.py +++ b/examples/simple-chatbot/server/bot-openai.py @@ -20,6 +20,7 @@ the conversation flow. import asyncio import os import sys +from typing import Literal import aiohttp from dotenv import load_dotenv @@ -40,6 +41,7 @@ from pipecat.frames.frames import ( SpriteFrame, STTMuteFrame, TranscriptionFrame, + TransportMessageUrgentFrame, ) from pipecat.pipeline.pipeline import Pipeline from pipecat.pipeline.runner import PipelineRunner @@ -47,7 +49,14 @@ from pipecat.pipeline.task import PipelineParams, PipelineTask from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext from pipecat.processors.filters.stt_mute_filter import STTMuteConfig, STTMuteFilter, STTMuteStrategy from pipecat.processors.frame_processor import FrameDirection, FrameProcessor -from pipecat.processors.frameworks.rtvi import RTVIConfig, RTVIObserver, RTVIProcessor +from pipecat.processors.frameworks.rtvi import ( + RTVIConfig, + RTVIMessageLiteral, + RTVIObserver, + RTVIProcessor, + RTVIServerMessageFrame, + RTVIUserTranscriptionMessageData, +) from pipecat.services.deepgram import DeepgramSTTService from pipecat.services.elevenlabs import ElevenLabsTTSService from pipecat.services.openai import OpenAILLMService @@ -78,6 +87,12 @@ class TranscriptionMuteProcessor(FrameProcessor): logger.debug(f"TranscriptionMuteProcessor: Mute state: {frame.mute}") self._is_muted = frame.mute + frame = RTVIServerMessageFrame( + data={"type": "user-muted-event", "payload": {"is_muted": self._is_muted}} + ) + + self.push_frame(frame) + if isinstance( frame, (