@@ -5,7 +5,6 @@ URL для всего вебсокет-релейтед - `/ws/`
55
66В данный момент есть только 1 Consumer (т.е. View, но для вебсокетов). Это ChatConsumer, живет на ` /ws/chat/ ` .
77
8- # ChatConsumer
98` /ws/chat/ `
109
1110### Подключение
@@ -70,7 +69,74 @@ class EventType(str, Enum):
7069- ` chat_id ` см выше
7170- ` message_id: int ` айди сообщение, которое прочитали
7271
73- ### DELETE_MESSAGE
74- - ` chat_type ` см выше
75- - ` chat_id ` см выше
76- - ` message_id: int ` айди сообщения, которое удаляем
72+ #### General events
73+
74+ - EventType.SET_ONLINE
75+ - EventType.SET_OFFLINE
76+
77+ Структура этих event'ов одинаковая.
78+
79+ ``` json
80+ {
81+ "type" : " set_offline" ,
82+ "content" : {
83+
84+ }
85+ }
86+ ```
87+
88+ #### Chat-related events
89+
90+ ##### EventType.NEW_MESSAGE
91+
92+ ``` json
93+ {
94+ "type" : " new_message" ,
95+ "content" : {
96+ "chat_type" : {{" direct" | "project" }},
97+ "chat_id" : {{" id1" _"id2" }}, // например: 1_2
98+ "message" : {{string }},
99+ "reply_to" : number | null
100+ }
101+ }
102+ ```
103+
104+ ![ New message event] ( img/event_new_message.png " New message event ")
105+
106+ ##### EventType.TYPING
107+
108+ ``` json
109+ {
110+ "type" : " typing" ,
111+ "content" : {
112+ "chat_type" : {{" direct" | "project" }},
113+ "chat_id" : {{" id1" _"id2" }}, // например: 1_2
114+ }
115+ }
116+ ```
117+
118+ ##### EventType.READ_MESSAGE
119+
120+ ``` json
121+ {
122+ "type" : " typing" ,
123+ "content" : {
124+ "chat_type" : {{" direct" | "project" }},
125+ "chat_id" : {{" id1" _"id2" }}, // например: 1_2
126+ "message_id" : {{number }}
127+ }
128+ }
129+ ```
130+
131+ ##### EventType.DELETE_MESSAGE
132+
133+ ``` json
134+ {
135+ "type" : " typing" ,
136+ "content" : {
137+ "chat_type" : {{" direct" | "project" }},
138+ "chat_id" : {{" id1" _"id2" }}, // например: 1_2
139+ "message_id" : {{number }}
140+ }
141+ }
142+ ```
0 commit comments