// Use this if you want to create your own ChatMessage. // This is useful if you want to embed other data besides text. // Do this by attaching an entity to the ChatMessage. public void SendChatMessage(ChatMessage message) { Entity entity = new Entity(); entity.id = "chatmessage"; entity.chatMessage = message; actorSystem.Find("/remote/default").Tell(entity); }
// This is our callback function. Messenger will send us // ChatMessage objects. We also use this for our chat commands // handler, that will send error messages to this function to // be send to the gui. (If we had a C# chat gui this would be cleaner). public void MessageReceived(object message) { string text; string name = message.GetType().Name; if (name == "string") { text = message as string; } else { ChatMessage chatMessage = message as ChatMessage; text = chatMessage.message; } Logger.Debug("Chat message " + text); chatGui.SendMessage("receiveMessage", text); }
// Simple usage, just sends text public void sendMessage(string senderId, string channelName, string messageText, string messageType) { Entity entity = new Entity(); entity.id = "chatmessage"; ChatMessage chatMessage = new ChatMessage(); ChatChannel chatChannel = new ChatChannel(); chatChannel.name = channelName; chatMessage.chatChannel = chatChannel; chatMessage.message = messageText; chatMessage.type = messageType; chatMessage.senderId = senderId; entity.chatMessage = chatMessage; actorSystem.Find("/remote/default").Tell(entity); }