public void AddChannelHandler() { SendBirdClient.ChannelHandler ch = new SendBirdClient.ChannelHandler(); ch.OnMessageReceived = (BaseChannel baseChannel, BaseMessage baseMessage) => { // Received a chat message. LogMessage("OnMessageReceived"); if (baseChannel.IsGroupChannel()) //we only deal with group channel (1 on 1 conversations) { _cache.RefreshOrAddEntryInList((GroupChannel)baseChannel); _completionHandler.OnMessageReceived( PojoConverter.Transform((GroupChannel)baseChannel) ); } }; ch.OnTypingStatusUpdated = (GroupChannel baseChannel) => { // Received a chat message. LogMessage("OnTypingStatusUpdated"); _cache.RefreshOrAddEntryInList(baseChannel); _completionHandler.OnTypingStatusUpdated( PojoConverter.Transform(baseChannel) ); }; SendBirdClient.AddChannelHandler("UNIQUE_HANDLER_ID1", ch); }
// GET: SendBird public ActionResult Index() { string APP_ID = "75DC34C9-03AE-4573-A69A-63FD75B7300E"; //SendBirdClient.Init(APP_ID); //var result = ""; string USE_ID = "T_tin2"; //string ACCESS_TOKEN = "c4a2132e3b709eb947cb00b7a1c4c3326d66853c"; SendBirdClient.Init(APP_ID); SendBirdClient.ChannelHandler channelHandler = new SendBirdClient.ChannelHandler(); channelHandler.OnMessageReceived = (BaseChannel baseChannel, BaseMessage baseMessage) => { //baseMessage.MessageId.ToString(); // message received }; SendBirdClient.AddChannelHandler("testchannel1", channelHandler); SendBirdClient.Connect(USE_ID, (User user, SendBirdException connectException) => { // get channel GroupChannel.GetChannel("sendbird_group_channel_137287723_07e33e8b58e8f3d71f7a7cccb829ccc3ffbfa96c", (GroupChannel groupChannel, SendBirdException getChannelException) => { // send message //groupChannel.SendUserMessage("you welcome.", // (UserMessage userMessage, SendBirdException sendMessageException) => { // // message sent // }); }); }); return(View()); }
private void SubscribeToMessages() { var id = Guid.NewGuid().ToString(); var handler = new SendBirdClient.ChannelHandler(); handler.OnMessageReceived = (baseChannel, baseMessage) => { HandleMessage(baseMessage); }; SendBirdClient.AddChannelHandler(id, handler); }
private void Init() { coroutineHost = new GameObject().AddComponent <MonoHost>(); SendBirdClient.SetupUnityDispatcher(coroutineHost.gameObject); coroutineHost.StartCoroutine(SendBirdClient.StartUnityDispatcher); SendBirdClient.Init("71CAF499-268F-49A3-A2F5-9DF09F275FB8"); channelHandler = new SendBirdClient.ChannelHandler(); chid = channelHandler.GetHashCode().ToString(); channelHandler.OnMessageReceived += ChannelHandler_OnMessageRecieved; SendBirdClient.AddChannelHandler(chid, channelHandler); }
// Use this for initialization public void StartConnection() { ConnectUser(); SendBirdClient.ChannelHandler channelHandler = new SendBirdClient.ChannelHandler(); channelHandler.OnMessageReceived = (BaseChannel channel, BaseMessage message) => { Debug.Log("Check: " + currentChannel.Url.Equals(channel.Url)); if (currentChannel.Url.Equals(channel.Url)) { if (message is UserMessage) { if (channel is GroupChannel) { chatScreen.AddChatMessage(message); //Debug.Log("Data " + ((UserMessage)message).Data + " Message :" + ((UserMessage)message).Message + // " Sender :" + ((UserMessage)message).Sender.Nickname); } //else //{ // //Debug.Log("Data " + ((UserMessage)message).Data + " Message :" + ((UserMessage)message).Message + // // " Sender :" + ((UserMessage)message).Sender.Nickname); // AddBlogMessage(message); //} } if (message is AdminMessage) { Debug.Log(" Message :" + ((AdminMessage)message).Message); } } else if (_openChannel.Url.Equals(channel.Url)) { if (message is UserMessage) { if (channel is OpenChannel) { AddBlogMessage(message); } } } SendBirdClient.AddChannelHandler("default", channelHandler); }; }
void Start() { InitComponents(); SendBirdClient.ChannelHandler channelHandler = new SendBirdClient.ChannelHandler(); channelHandler.OnMessageReceived = (BaseChannel channel, BaseMessage message) => { // Draw new messages if user is on the channel. if (currentChannel.Url == channel.Url) { if (message is UserMessage) { if (channel.IsOpenChannel()) { txtOpenChannelContent.text = txtOpenChannelContent.text + (UserMessageRichText((UserMessage)message) + "\n"); } else { GameObject objMessage = Instantiate(messageListItemPrefab, editableGridPannel.transform) as GameObject; ChannelMessage msg = objMessage.GetComponent <ChannelMessage>(); if (SendBirdClient.CurrentUser.UserId != msg.userId) { objMessage.GetComponent <Button>().enabled = false; } msg.message = (UserMessageRichText((UserMessage)message)); msg.messageId = message.MessageId; msg.messageText.text = (UserMessageRichText((UserMessage)message)); btnMessage.Add(objMessage); } } else if (message is FileMessage) { if (channel.IsOpenChannel()) { txtOpenChannelContent.text = txtOpenChannelContent.text + (FileMessageRichText((FileMessage)message) + "\n"); } else { txtGroupChannelContent.text = txtGroupChannelContent.text + (FileMessageRichText((FileMessage)message) + "\n"); } } else if (message is AdminMessage) { GameObject objMessage = Instantiate(messageListItemPrefab, editableGridPannel.transform) as GameObject; ChannelMessage msg = objMessage.GetComponent <ChannelMessage>(); if (SendBirdClient.CurrentUser.UserId != msg.userId) { objMessage.GetComponent <Button>().enabled = false; } msg.message = (AdminMessageRichText((AdminMessage)message)); msg.messageId = message.MessageId; msg.messageText.text = (AdminMessageRichText((AdminMessage)message)); btnMessage.Add(objMessage); } ScrollToBottom(); } }; channelHandler.OnUserReceivedInvitation = (GroupChannel channel, User inviter, List <User> invitees) => { for (int i = 0; i < invitees.Count; i++) { if (invitees[i].UserId == SendBirdClient.CurrentUser.UserId) { // to do } } }; channelHandler.OnMessageUpdated = (BaseChannel channel, BaseMessage message) => { if (currentChannel.Url == channel.Url) { if (channel.IsGroupChannel()) { for (int i = 0; i < btnMessage.Count; i++) { GameObject objMessage = btnMessage[i] as GameObject; ChannelMessage msg = objMessage.GetComponent <ChannelMessage>(); if (message is UserMessage) { if (msg.messageId == message.MessageId) { if (SendBirdClient.CurrentUser.UserId != msg.userId) { objMessage.GetComponent <Button>().enabled = false; } msg.message = ((UserMessage)message).Message; msg.messageId = message.MessageId; msg.messageText.text = (UserMessageRichText((UserMessage)message)); } } else if (message is AdminMessage) { if (msg.messageId == message.MessageId) { objMessage.GetComponent <Button>().enabled = false; msg.message = ((AdminMessage)message).Message; msg.messageId = message.MessageId; msg.messageText.text = (AdminMessageRichText((AdminMessage)message)); } } } } else { LoadOpenChannelChatHistory(); } } }; SendBirdClient.AddChannelHandler("default", channelHandler); }
void Start () { InitComponents (); SendBirdClient.ChannelHandler channelHandler = new SendBirdClient.ChannelHandler (); channelHandler.OnMessageReceived = (BaseChannel channel, BaseMessage message) => { // Draw new messages if user is on the channel. if(currentChannel.Url == channel.Url) { if (message is UserMessage) { if(channel.IsOpenChannel()) txtOpenChannelContent.text = txtOpenChannelContent.text + (UserMessageRichText ((UserMessage)message) + "\n"); else txtGroupChannelContent.text = txtGroupChannelContent.text + (UserMessageRichText ((UserMessage)message) + "\n"); } else if (message is FileMessage) { if(channel.IsOpenChannel()) txtOpenChannelContent.text = txtOpenChannelContent.text + (FileMessageRichText ((FileMessage)message) + "\n"); else txtGroupChannelContent.text = txtGroupChannelContent.text + (FileMessageRichText ((FileMessage)message) + "\n"); } else if (message is AdminMessage) { if(channel.IsOpenChannel()) txtOpenChannelContent.text = txtOpenChannelContent.text + (AdminMessageRichText ((AdminMessage)message) + "\n"); else txtGroupChannelContent.text = txtGroupChannelContent.text + (AdminMessageRichText ((AdminMessage)message) + "\n"); } ScrollToBottom (); } }; SendBirdClient.AddChannelHandler ("default", channelHandler); }
void Start() { InitComponents(); SendBirdClient.ChannelHandler channelHandler = new SendBirdClient.ChannelHandler(); channelHandler.OnMessageReceived = (BaseChannel channel, BaseMessage message) => { // Draw new messages if user is on the channel. if (currentChannel.Url == channel.Url) { if (message is UserMessage) { string text; text = UserMessageRichText((UserMessage)message); if (text.Contains("3dObject")) { string[] values = text.Split(','); Message1 obj = XMLSerializer.Deserialize(values[1]); Console.WriteLine("Text: " + values[1] + " Received obj World Position: x " + obj.transformX + " y: " + obj.transformY + " z: " + obj.transformZ); txtOpenChannelContent.text = txtOpenChannelContent.text + ("Text: " + values[1] + " Received obj Position: x " + obj.transformX + " y: " + obj.transformY + " z: " + obj.transformZ + "\n"); Vector3 targetPos; targetPos.x = obj.transformX; targetPos.y = obj.transformY; targetPos.z = obj.transformZ; Vector3 recObjPos = LocationHelper.calculatePosition(locationManager.getOrigWorldPosition(), targetPos); Console.WriteLine("\n\nReceived obj calculated Position: x " + recObjPos.x + " y: " + recObjPos.y + " z: " + recObjPos.z); GameObject clone = Instantiate(prefabObject, recObjPos, Quaternion.identity); } if (channel.IsOpenChannel()) { txtOpenChannelContent.text = txtOpenChannelContent.text + (UserMessageRichText((UserMessage)message) + "\n"); } else { txtGroupChannelContent.text = txtGroupChannelContent.text + (UserMessageRichText((UserMessage)message) + "\n"); Console.WriteLine(message.ToString()); } } else if (message is FileMessage) { if (channel.IsOpenChannel()) { txtOpenChannelContent.text = txtOpenChannelContent.text + (FileMessageRichText((FileMessage)message) + "\n"); } else { txtGroupChannelContent.text = txtGroupChannelContent.text + (FileMessageRichText((FileMessage)message) + "\n"); } } else if (message is AdminMessage) { if (channel.IsOpenChannel()) { txtOpenChannelContent.text = txtOpenChannelContent.text + (AdminMessageRichText((AdminMessage)message) + "\n"); } else { txtGroupChannelContent.text = txtGroupChannelContent.text + (AdminMessageRichText((AdminMessage)message) + "\n"); } } ScrollToBottom(); } }; SendBirdClient.AddChannelHandler("default", channelHandler); }