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);
        }
Exemplo n.º 4
0
    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);
    }
Exemplo n.º 5
0
    // 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);
        };
    }
Exemplo n.º 6
0
    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);
    }
Exemplo n.º 7
0
	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);
	}
Exemplo n.º 8
0
    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);
    }