public RacetimeUser GetUserInfo(IAuthentificationSettings s, string AccessToken)
        {
            var userInfoRequest = WebRequest.Create($"{s.AuthServer}{s.UserInfoEndpoint}");

            userInfoRequest.Headers.Add(HttpRequestHeader.Authorization, $"Bearer {AccessToken}");
            using (var r = userInfoRequest.GetResponse())
            {
                var userdata = JSON.FromResponse(r);
                return(RTModelBase.Create <RacetimeUser>(userdata));
            }
        }
Пример #2
0
        protected IEnumerable <Race> GetRacesFromServer()
        {
            var races = JSON.FromUri(new Uri(BaseUri.AbsoluteUri + racesEndpoint)).races;

            foreach (var r in races)
            {
                var  fulldata = JSON.FromUri(new Uri(BaseUri.AbsoluteUri + r.name + "/data"));
                Race raceObj  = RTModelBase.Create <Race>(fulldata);
                yield return(raceObj);
            }
            yield break;
        }
Пример #3
0
        public IEnumerable <ChatMessage> Parse(dynamic m)
        {
            switch (m.type)
            {
            case "error":
                yield return(RTModelBase.Create <ErrorMessage>(m));

                break;

            case "race.data":
                yield return(RTModelBase.Create <RaceMessage>(m.race));

                break;

            case "chat.message":
                if (m.message.is_system != null && m.message.is_system)
                {
                    yield return(RTModelBase.Create <SystemMessage>(m.message));
                }
                else
                {
                    bool isBot = false;
                    try
                    {
                        isBot = m.message.is_bot;
                    }
                    catch
                    {
                        isBot = false;
                    }
                    if (isBot)
                    {
                        yield return(RTModelBase.Create <BotMessage>(m.message));
                    }
                    else
                    {
                        yield return(RTModelBase.Create <UserMessage>(m.message));
                    }
                }
                break;

            case "chat.history":
                RequestOutputReset?.Invoke(this, new EventArgs());
                foreach (var msg in m.messages)
                {
                    if (msg.is_system != null && msg.is_system)
                    {
                        yield return(RTModelBase.Create <SystemMessage>(msg));
                    }
                    else
                    {
                        bool isBot = false;
                        try
                        {
                            isBot = msg.is_bot;
                        }
                        catch
                        {
                            isBot = false;
                        }
                        if (isBot)
                        {
                            yield return(RTModelBase.Create <BotMessage>(msg));
                        }
                        else
                        {
                            yield return(RTModelBase.Create <UserMessage>(msg));
                        }
                    }
                }
                break;

            case "livesplit":
                yield return(RTModelBase.Create <LiveSplitMessage>(m.message));

                break;
            }
            yield break;
        }