Пример #1
0
        public static void TestPaste(UserAbstract user, PastebinAPI api, string userKey)
        {
            var request = new PasteCreateRequest();

            request.UserKey    = userKey;
            request.Name       = user.ReadInput("Enter Paste Name").AsString;
            request.Code       = string.Join(Environment.NewLine, user.ReadInputWhileBreak("Enter Paste Text While Break"));
            request.Private    = user.QueryInput("Enter Private", EnumUtils.Values <PastePrivate>(), v => v.ToString()).Value;
            request.ExpireDate = user.QueryInput("Enter Expire Date", PasteExpireDate.Values, v => v.Name).Value;

            var url = api.CreatePaste(request);

            user.SendMessage(url);
        }
        private OAuthRequest CreateOAuthRequest(UserAbstract user)
        {
            var list = new List <OAuthRequest>
            {
                null,
                new OAuthRequestTokenCode(),
                new OAuthRequestAuthorizationCode(),
                new OAuthRequestClientCredentials()
            };

            var request = user.QueryInput("Enter RequestType", list, req => req == null ? "Not Auth" : req.GetType().Name).Value;

            if (request == null)
            {
                return(null);
            }

            request.Scopes.AddRange(user.ReadInput($"Enter Scopes, '{OAuthRequest.ScopeSeparater}' separated").AsString.Split(OAuthRequest.ScopeSeparater));

            if (request is OAuthRequestAuthorizationCode auth)
            {
                auth.ClientSecret = user.ReadInput("Enter Client-Secret").AsString;
            }
            else if (request is OAuthRequestClientCredentials client)
            {
                client.ClientSecret = user.ReadInput("Enter Client-Secret").AsString;
            }

            if (request is OAuthRequestCode code)
            {
                code.RedirectUri = user.ReadInput("Enter Redirect Uri").AsString;
                code.ForceVerify = false;
                code.State       = Guid.NewGuid().ToString().Replace("-", "");
            }

            return(request);
        }