public async Task Execute(
            [Remainder][Summary("The Imgur account username for which to retrieve the ID for.")]
            string Username
            )
        {
            Log.Application_.LogVerbose("Executing ToImgurUserID for username '{0}'", Username);
            IAccount Result;

            try{
                Result = await Imgur.ReadUserDetails(Username);
            }catch (ImgurException Error) {
                await base.ReplyAsync(
                    string.Format("Error retrieving details for Imgur username '{0}': ", Username)
                    + Error.Message
                    );

                return;
            }
            await Reply(Result);
        }
Esempio n. 2
0
        private async Task <Tuple <int, string> > RetrieveUserIdentity(int?UserID, string Username)
        {
            if (UserID is null && string.IsNullOrWhiteSpace(Username))
            {
                throw new ArgumentNullException();
            }
            IAccount UserDetails;

            try{
                if (UserID is null)
                {
                    UserDetails = await Imgur.ReadUserDetails(Username);
                }
                else
                {
                    UserDetails = await Imgur.ReadUserDetails(UserID.Value);
                }
            }catch (ImgurException Error) {
                if (UserID is null)
                {
                    await base.ReplyAsync(string.Format(
                                              "Could not retrieve details for Imgur user with username '{0}': ",
                                              Username
                                              ) + Error.Message);
                }
                else
                {
                    await base.ReplyAsync(string.Format(
                                              "Could not retrieve details for Imgur user with account ID '{0:D}': ",
                                              UserID
                                              ) + Error.Message);
                }
                return(null);
            }
            return(new Tuple <int, string>(UserDetails.Id, UserDetails.Url));
        }