protected async Task SwitchRepositorySource()
        {
            var dialog = new RepositoryDialog("Switch Repository Source");

            if (await dialog.ShowModalAsync() is PluginMetadataCollection repository)
            {
                await Refresh(repository);
            }
        }
        /// <summary>
        /// 入力に対して応答を返す
        /// </summary>
        /// <param name="context">入力コンテンツ</param>
        /// <param name="argument">入力文字列</param>
        /// <returns></returns>
        public async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> argument)
        {
            //入力文字列取得
            var message = await argument;

            await TryCatch(context, message.Text, async() =>
            {
                activity = message as Connector.Activity;

                //チャンネル名を取得
                channelName = message.Conversation.Name;

                //チャンネルIDを取得
                channelId = message.Conversation.Id.Split(':')[2];

                //アクセストークンセット
                SetCredencial(message.From.Id, message.From.Name, github);

                //行数毎の文字列リストを生成
                List <string> rowList = new List <string>();

                //行毎に文字列分割し、リストに格納
                if (!string.IsNullOrEmpty(message.Text))
                {
                    string[] temp = message.Text.Split('\n');
                    rowList.AddRange(temp);
                }

                #region 【条件式】1行目が~なら

                //リポジトリ設定(1行目がset ripository)
                if (String.Compare(rowList[0], "set repository", true) == 0)
                {
                    RepositoryDialog repositoryDialog = new RepositoryDialog();

                    //リポジトリ変更メソッド呼び出し
                    await repositoryDialog.RepositorySet(context, rowList[1]);
                    context.Wait(MessageReceivedAsync);
                }

                //ユーザ設定(1行目がset user)
                if (String.Compare(rowList[0], "set user", true) == 0)
                {
                    //認証本体
                    context.Wait(MessageReceivedAsync);
                }

                //操作一覧(1行目がcall)
                if (String.Compare(rowList[0], "call", true) == 0)
                {
                    //操作一覧を出す
                    CALL_GUIDE(context);
                }

                //issueの簡易作成(1行目がラベル名)
                if (rowList[0].IsAny("bug", "question", "task", "課題", "運用", "保守", "バグ") && !string.IsNullOrEmpty(rowList[1]))
                {
                    //作成完了のメッセージをbot送信する
                    await context.PostAsync("issueの作成が完了しました");

                    //引数のラベルでEntityを検索する
                    TemplateEntity entity = entityOperation_Template.RetrieveEntityResult(rowList[0], "label", string.Empty).Result as TemplateEntity;

                    //ラベルのテンプレートが未設定だったら
                    if (entity == null)
                    {
                        //テンプレートが未設定の旨をメッセージで表示
                        await context.PostAsync("テンプレートが未設定です。テンプレートを設定してください");
                        //入力待機
                        context.Wait(MessageReceivedAsync);
                    }
                    else
                    {
                        //issue作成実行用クラス
                        IssueCreateDialog createDialog = new IssueCreateDialog();

                        //2行目以降、1行ずつでループ処理
                        for (int i = 1; i < rowList.Count; i++)
                        {
                            //指定行の2文字目からタイトルとして格納(1文字目は・のため)
                            issueModel.Title = rowList[i].Substring(1);
                            //ラベル格納
                            issueModel.Labels = rowList[0];
                            //本文格納(本文は入力されないためテンプレートのみ)
                            issueModel.Body = entity.Template;
                            //issue作成
                            await createDialog.IssueCreate(context);
                        }
                        //メッセージ待機状態に戻る
                        context.Wait(MessageReceivedAsync);
                    }
                }
                #endregion 【条件式】1行目が~なら
            });
        }