public async Task Command_GenerateQuiz(CommandContext pContext) { if (Strix.CBot.CheckIsRespond(pContext.Channel) == false) { return; } if (ProcCheck_And_AddQuizMember(pContext.User)) { SQuizMember pMember = Program.mapQuizMember[pContext.User.Id]; pMember.DoUpdateRole(pContext.Guild, pContext.Member); await pContext.Channel.SendMessageAsync($"첫 도전을 환영합니다! {pContext.User.Mention}"); } bool bAlreadyExsist; var pEmbed = GenerateEmbedBuilder_Quiz(pContext.User, out bAlreadyExsist); if (bAlreadyExsist) { SQuiz pQuiz; if (TryGetPlayingQuiz(pContext.User, out pQuiz)) { await pContext.Channel.SendMessageAsync($"이미 푸시던 퀴즈가 있어 다시 내드리겠습니다. {pContext.User.Mention}", false, pEmbed); } else { await pContext.Channel.SendMessageAsync("에러!"); } } else { await pContext.Channel.SendMessageAsync($"{pContext.User.Mention} {XML_Quiz.pConfig.strQuizStart}", false, pEmbed); } }
public async Task Command_Answer(CommandContext pContext, string strAnswer) { if (Strix.CBot.CheckIsRespond(pContext.Channel) == false) { return; } SQuiz pQuiz; if (TryGetPlayingQuiz(pContext.User, out pQuiz)) { SQuizMember pMember = Program.mapQuizMember[pContext.User.Id]; pMember.DoAdd_QuizTryCount(); if (pQuiz.strAnswer.Equals(strAnswer)) { pQuiz.DoAdd_WinCount(); if (pMember.DoAdd_QuizPoint(1)) { pMember.DoUpdateRole(pContext.Guild, pContext.Member); await pContext.Channel.SendMessageAsync($"정답입니다! 진급을 축하드립니다! {pMember.DoPrint_Point(true)}"); } else { await pContext.Channel.SendMessageAsync($"정답입니다! 포인트를 획득하셨습니다! {pMember.DoPrint_Point()}"); } } else { await pContext.Channel.SendMessageAsync("오답입니다.."); } _mapQuizPlayer.Remove(pContext.User); } else { await pContext.Channel.SendMessageAsync("에러!"); } }