Esempio n. 1
0
 public PasteBinService(IOptions <PastBinOptions> pasteBinOptions, ILoggerFactory loggerFactory)
 {
     _pasteBinOptions = pasteBinOptions?.Value;
     Pastebin.DevKey  = _pasteBinOptions.UserKey;
     _me     = Pastebin.LoginAsync(_pasteBinOptions.UserName, _pasteBinOptions.Password).GetAwaiter().GetResult();
     _logger = loggerFactory.CreateLogger(typeof(PasteBinService));
 }
Esempio n. 2
0
        public async Task <Paste> CreateBinAsync(string message)
        {
            var user = await Pastebin.LoginAsync("grzegorzmuraczewski", "password"); // TODO remove harcoded values

            var paste = await user.CreatePasteAsync(message);

            return(paste);
        }
Esempio n. 3
0
        static async Task PastebinExample()
        {
            //before using any class in the api you must enter your api dev key
            Pastebin.DevKey = "your dev key goes here";
            //you can see yours here: https://pastebin.com/api#1
            try
            {
                // login and get user object
                User me = await Pastebin.LoginAsync("user", "pass");

                // user contains information like e-mail, location etc...
                Console.WriteLine("{0}({1}) lives in {2}", me, me.Email, me.Location);
                // lists all pastes for this user
                foreach (Paste paste in await me.ListPastesAsync(3)) // we limmit the results to 3
                {
                    Console.WriteLine(paste.Title);
                }

                string code = "<your fancy &code#() goes here>";
                //creates a new paste and get paste object
                Paste newPaste = await me.CreatePasteAsync(code, "MyPasteTitle", Language.HTML5, Visibility.Public, Expiration.TenMinutes);

                //newPaste now contains the link returned from the server
                Console.WriteLine("URL: {0}", newPaste.Url);
                Console.WriteLine("Paste key: {0}", newPaste.Key);
                Console.WriteLine("Content: {0}", newPaste.Text);
                //deletes the paste we just created
                await me.DeletePasteAsync(newPaste);

                //lists all currently trending pastes(similar to me.ListPastes())
                foreach (Paste paste in await Pastebin.ListTrendingPastesAsync())
                {
                    Console.WriteLine("{0} - {1}", paste.Title, paste.Url);
                }
                //you can create pastes directly from Pastebin static class but they are created as guests and you have a limited number of guest uploads
                Paste anotherPaste = await Paste.CreateAsync("another paste", "MyPasteTitle2", Language.CSharp, Visibility.Unlisted, Expiration.OneHour);

                Console.WriteLine(anotherPaste.Title);
            }
            catch (PastebinException ex) //api throws PastebinException
            {
                //in the Parameter property you can see what invalid parameter was sent
                //here we check if the exeption is thrown because of invalid login details
                if (ex.Parameter == PastebinException.ParameterType.Login)
                {
                    Console.Error.WriteLine("Invalid username/password");
                }
                else
                {
                    throw; //all other types are rethrown and not swalowed!
                }
            }
            Console.ReadKey();
        }
        public static async Task <Boolean> TryLogInAsync(String username, String password)
        {
            PastebinHelper.ApplyDevKey();
            try
            {
                CurrentUser = await Pastebin.LoginAsync(username, password);

                return(true);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, PastebinHelper.DefaultCaption);
                return(false);
            }
        }
Esempio n. 5
0
        private async Task Client_Ready(ReadyEventArgs e)
        {
            Pastebin.DevKey = this.DevKey;
            try
            {
                User = await Pastebin.LoginAsync(Username, Pass);

                Console.WriteLine("Pastebin service ready!");
            }
            catch (PastebinException ex)
            {
                if (ex.Parameter == PastebinException.ParameterType.Login)
                {
                    Console.Error.WriteLine("Invalid username/password");
                }
            }
        }