async void Connect() { var url = await Slack.GetWebsocketUrl(this.Token); SocketConnection = new SocketConnection(url); SocketConnection.OnData += (sender, data) => { HandleOnData(data); }; }
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); } }