Nicknames now work.
This commit is contained in:
parent
af9c348a10
commit
632c5e4437
|
|
@ -253,19 +253,19 @@ UI.setNickname = function(nickname) {
|
|||
}
|
||||
};
|
||||
|
||||
UI.recvChatMessage = function(sender, text, color = 'white') {
|
||||
UI.recvChatMessage = function(nickname, text, color = 'white') {
|
||||
// Show chat panel
|
||||
toggle_panel('openwebrx-panel-log', true);
|
||||
|
||||
divlog(
|
||||
'[<span class="nickname" style="color:' + color + ';">' + sender
|
||||
'[<span class="nickname" style="color:' + color + ';">' + nickname
|
||||
+ '</span>]: ' + '<span class="chatmessage">' + text + '</span>'
|
||||
);
|
||||
};
|
||||
|
||||
UI.sendChatMessage = function(text, sender = '') {
|
||||
UI.sendChatMessage = function(text, nickname = '') {
|
||||
ws.send(JSON.stringify({
|
||||
'type': 'sendmessage', 'sender': sender, 'text': text
|
||||
'type': 'sendmessage', 'name': nickname, 'text': text
|
||||
}));
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -68,12 +68,20 @@ class ClientRegistry(object):
|
|||
client.close()
|
||||
|
||||
# Broadcast chat message to all connected clients.
|
||||
def broadcastChatMessage(self, client, text: str):
|
||||
def broadcastChatMessage(self, client, text: str, name: str = None):
|
||||
# Names have to be 3+ characters
|
||||
if name is not None and len(name) < 1:
|
||||
name = None
|
||||
if client in self.chat:
|
||||
name = self.chat[client]["name"]
|
||||
color = self.chat[client]["color"]
|
||||
curname = self.chat[client]["name"]
|
||||
color = self.chat[client]["color"]
|
||||
if name is None or name == curname:
|
||||
name = curname
|
||||
else:
|
||||
self.chatColors.rename(curname, name)
|
||||
self.chat[client]["name"] = name
|
||||
else:
|
||||
name = "User%04d" % (self.chatCount + 1)
|
||||
name = "User%d" % (self.chatCount + 1) if name is None else name
|
||||
color = self.chatColors.getColor(name)
|
||||
self.chat[client] = { "name": name, "color": color }
|
||||
self.chatCount = (self.chatCount + 1) % 9999
|
||||
|
|
|
|||
|
|
@ -345,7 +345,9 @@ class OpenWebRxReceiverClient(OpenWebRxClient, SdrSourceEventClient):
|
|||
elif message["type"] == "sendmessage":
|
||||
if "text" in message:
|
||||
ClientRegistry.getSharedInstance().broadcastChatMessage(
|
||||
self, message["text"]
|
||||
self,
|
||||
message["text"],
|
||||
message["name"] if "name" in message else None
|
||||
)
|
||||
|
||||
else:
|
||||
|
|
|
|||
Loading…
Reference in New Issue