File tree Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Original file line number Diff line number Diff line change 1
1
import daily
2
2
import threading
3
3
import pyaudio
4
+ import json
4
5
5
6
SAMPLE_RATE = 16000
6
7
NUM_CHANNELS = 1
@@ -160,3 +161,15 @@ def receive_bot_audio(self):
160
161
161
162
if len (buffer ) > 0 :
162
163
self .__output_audio_stream .write (buffer , CHUNK_SIZE )
164
+
165
+ def send_app_message (self , message ):
166
+ """
167
+ Send an application message to the assistant.
168
+
169
+ :param message: The message to send (expects a dictionary).
170
+ """
171
+ try :
172
+ serialized_message = json .dumps (message )
173
+ self .__call_client .send_app_message (serialized_message )
174
+ except Exception as e :
175
+ print (f"Failed to send app message: { e } " )
Original file line number Diff line number Diff line change @@ -62,3 +62,34 @@ def start(
62
62
def stop (self ):
63
63
self .__client .leave ()
64
64
self .__client = None
65
+
66
+ def send (self , message ):
67
+ """
68
+ Send a generic message to the assistant.
69
+
70
+ :param message: A dictionary containing the message type and content.
71
+ """
72
+ if not self .__client :
73
+ raise Exception ("Call not started. Please start the call first." )
74
+
75
+ # Check message format here instead of serialization
76
+ if not isinstance (message , dict ) or 'type' not in message :
77
+ raise ValueError ("Invalid message format." )
78
+
79
+ try :
80
+ self .__client .send_app_message (message ) # Send dictionary directly
81
+ except Exception as e :
82
+ print (f"Failed to send message: { e } " )
83
+
84
+ def add_message (self , role , content ):
85
+ """
86
+ method to send text messages with specific parameters.
87
+ """
88
+ message = {
89
+ 'type' : 'add-message' ,
90
+ 'message' : {
91
+ 'role' : role ,
92
+ 'content' : content
93
+ }
94
+ }
95
+ self .send (message )
You can’t perform that action at this time.
0 commit comments