/// <summary> /// フォームの内容から Mastodon アクセストークンを取得し、クライアントを作成します。 /// </summary> private async Task RegisterMastodon() { // 既に登録されている内容ならエラー if (Settings.Default.MastodonDomains.Contains(MastodonDomain) && Settings.Default.MastodonEMails.Contains(MastodonEMail)) { logger.ErrorFormat($"既に登録されているアカウントです。"); Utilities.ShowError($"既に登録されているアカウントです。"); return; } // アカウントに接続 var client = new TwitdonMastodonClient(MastodonDomain, MastodonEMail, MastodonPassword, Settings.Default.MastodonDomains.Count); var result = await client.CreateClient(true, this, progressBar); if (result == null) { return; } // アカウント情報を保存 Settings.Default.MastodonDomains.Add(MastodonDomain); Settings.Default.MastodonEMails.Add(MastodonEMail); Settings.Default.MastodonPasswords.Add(MastodonPassword); Client = client; }
/// <summary> /// 登録されている情報から全てのクライアントを作成します。 /// </summary> private async Task CreateAllClients() { clients = new List <IClient>(); for (int i = 0; i < Settings.Default.TwitterAccessTokens.Count; i++) { var client = new TwitdonTwitterClient(i); // TODO: どのアカウントにも接続できなかった時の処理(インターネット接続など) // TODO: アカウントに接続できなかった時の個別処理 if ((await client.CreateClient(false)) != null) { clients.Add(client); } } for (int i = 0; i < Settings.Default.MastodonDomains.Count; i++) { var client = new TwitdonMastodonClient(Settings.Default.MastodonDomains[i], Settings.Default.MastodonEMails[i], Settings.Default.MastodonPasswords[i], i); // TODO: どのアカウントにも接続できなかった時の処理(インターネット接続など) // TODO: アカウントに接続できなかった時の個別処理 if ((await client.CreateClient(false)) != null) { clients.Add(client); } } }