예제 #1
0
        async void Connect()
        {
            var url = await Slack.GetWebsocketUrl(this.Token);

            SocketConnection = new SocketConnection(url);

            SocketConnection.OnData += (sender, data) =>
            {
                HandleOnData(data);
            };
        }
예제 #2
0
        async void HandleOnData(string data)
        {
            var message = Newtonsoft.Json.JsonConvert.DeserializeObject <SlackData>(data);

            if (message.Type == "message")
            {
                var args = Newtonsoft.Json.JsonConvert.DeserializeObject <OnMessageArgs>(data);

                args.MentionedUsers = SlackMessage.FindMentionedUsers(data);

                for (var i = 0; i < args.MentionedUsers.Count(); i++)
                {
                    args.MentionedUsers[i] = await Slack.GetUsername(this.Token, args.MentionedUsers[i]);
                }

                OnMessage.Invoke(this, args);
            }
        }