protected override async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> argument) { var message = await argument; var messageText = Main.GetConvertedMessageText(message); var messageRepeatCount = GetRepeatCount(message.From.Id, messageText); switch (messageText) { case "我要說甚麼": { var commands = Constants.Commands.ListCommands(); await context.PostAsync($"你可以說說看:{commands[Main.Rand.Next(commands.Count)]}"); } break; case Constants.Commands.C1: { if (ganTalkLeaderBoard == null) { ganTalkLeaderBoard = new GanTalkLeaderBoard(); } var content = string.Join("<br/>", ganTalkLeaderBoard.GetBoard().Select(v => $"{v.Item2}人說了:{v.Item1}")); if (content == "") { content = "目前沒有資料TwT"; } await context.PostAsync("\\幹話排行榜/ <(\\_ \\_)><br/>2人以上才會上榜哦!<br/>" + content); } break; case Constants.Commands.C2: { switch (messageRepeatCount) { case 0: await context.PostAsync("不好說,這真的不好說"); break; case 1: await context.PostAsync("走遠了......"); break; case 2: await context.PostAsync("剩下的就不要再問了"); break; case 3: await context.PostAsync("就跟你說不要再問了!"); break; case 4: await context.PostAsync("就說不要再問了你是沒聽到嗎?"); break; case 5: await context.PostAsync("好啦好啦,我說我說"); break; case 6: await context.PostAsync("好啦我真的要說了,但是要幫我保密哦"); break; case 7: await context.PostAsync("真的要幫我保密哦!(勾小拇指"); break; default: { switch ((messageRepeatCount - 8) % 10) { case 0: await context.PostAsync("就是呢......"); break; case 1: await context.PostAsync("我覺得......"); break; case 2: await context.PostAsync("那個Spec......"); break; case 3: await context.PostAsync("應該要一開始就寫清楚,而且......"); break; case 4: await context.PostAsync("不要一直改啦,這樣......"); break; case 5: await context.PostAsync("壞透了,真的壞透了!><"); break; case 6: await context.PostAsync("生氣氣啦><"); break; case 7: await context.PostAsync("沒了,你還要我說甚麼?"); break; case 8: await context.PostAsync("好啦其實助教人也滿厲害的,甚麼問題都可以很快回答得出來~"); break; case 9: await context.PostAsync("而且作業也是很好玩、可以學到很多東西!只是呢......"); break; default: await Main.PrintBug(context, $"messageRepeatCount: {messageRepeatCount}"); break; } } break; } } break; case Constants.Commands.C3: { await context.PostAsync($"↓我知道你的資訊有這麼多↓<br/>Id: {message.From.Id}<br/>" + $"Name: {message.From.Name}<br/>" + $"Properties: {message.From.Properties}"); } break; case Constants.Commands.C4: { switch (messageRepeatCount) { case 0: await context.PostAsync("這是秘密>///<"); break; case 1: await context.PostAsync("不要再問了,這是秘密!"); break; case 2: await context.PostAsync("就說這是秘密了,再問下去我崩潰給你看哦><"); break; case 3: throw new NotImplementedException(); } } break; default: { //await context.PostAsync("\u4f60\u8aaa\u4e86\u300c"/*你說了「*/ + message.Text + "\u300d"/*」*/); string msg = message.Text; if (ganTalkLeaderBoard == null) { ganTalkLeaderBoard = new GanTalkLeaderBoard(); } ganTalkLeaderBoard.Update(message.From.Id, msg); switch (Main.Rand.Next(6)) { case 0: break; case 1: msg = "你說了「" + msg + "」"; break; case 2: msg = "好啦," + msg; break; case 3: msg = msg + " XDD"; break; case 4: msg = msg + " www"; break; case 5: msg = msg + " ^\\_^"; break; } await context.PostAsync(msg); } break; } SetLastUserMessage(message.From.Id, messageText); context.Done(message = null); }
public override void Run() { var messageText = Minimize(sender_msg); var messageRepeatCount = GetRepeatCount(Program.SenderPsid, messageText); //SendMsg($"repeat={messageRepeatCount}"); if (messageText == Minimize("我要說甚麼")) { var commands = Constants.Commands.ListCommands(); SendMsg($"你可以說說看:{RandItem(commands)}"); } else if (messageText == Minimize(Constants.Commands.C1)) { if (ganTalkLeaderBoard == null) { ganTalkLeaderBoard = new GanTalkLeaderBoard(); } var content = string.Join("\n", ganTalkLeaderBoard.GetBoard().Select(v => $"{v.Item2}人說了:{v.Item1}")); if (content == "") { content = "目前沒有資料TwT"; } SendMsg("\\幹話排行榜/ <(_ _)>\n2人以上才會上榜哦!\n" + content); } else if (messageText == Minimize(Constants.Commands.C2)) { switch (messageRepeatCount) { case 0: SendMsg("不好說,這真的不好說"); break; case 1: SendMsg("走遠了......"); break; case 2: SendMsg("剩下的就不要再問了"); break; case 3: SendMsg("就跟你說不要再問了!"); break; case 4: SendMsg("就說不要再問了你是沒聽到嗎?"); break; case 5: SendMsg("好啦好啦,我說我說"); break; case 6: SendMsg("好啦我真的要說了,但是要幫我保密哦"); break; case 7: SendMsg("真的要幫我保密哦!(勾小拇指"); break; default: { switch ((messageRepeatCount - 8) % 10) { case 0: SendMsg("就是呢......"); break; case 1: SendMsg("我覺得......"); break; case 2: SendMsg("那個Spec......"); break; case 3: SendMsg("應該要一開始就寫清楚,而且......"); break; case 4: SendMsg("不要一直改啦,這樣......"); break; case 5: SendMsg("壞透了,真的壞透了!><"); break; case 6: SendMsg("生氣氣啦><"); break; case 7: SendMsg("沒了,你還要我說甚麼?"); break; case 8: SendMsg("好啦其實助教人也滿厲害的,甚麼問題都可以很快回答得出來~"); break; case 9: SendMsg("而且作業也是很好玩、可以學到很多東西!只是呢......"); break; default: Console.WriteLine($"messageRepeatCount: {messageRepeatCount}"); break; } } break; } } else if (messageText == Minimize(Constants.Commands.C3)) { SendMsg($"↓我知道你的資訊有這麼多↓\nId: {Program.SenderPsid}\n" + $"Name: {"TODO"}\n" + $"Properties: {"TODO"}"); } else if (messageText == Minimize(Constants.Commands.C4)) { switch (messageRepeatCount) { case 0: SendMsg("這是秘密>///<"); break; case 1: SendMsg("不要再問了,這是秘密!"); break; case 2: SendMsg("就說這是秘密了,再問下去我崩潰給你看哦><"); break; case 3: throw new NotImplementedException(); } } else { string msg = sender_msg; if (ganTalkLeaderBoard == null) { ganTalkLeaderBoard = new GanTalkLeaderBoard(); } ganTalkLeaderBoard.Update(Program.SenderPsid, msg); switch (RandInt(0, 6)) { case 0: break; case 1: msg = "你說了「" + msg + "」"; break; case 2: msg = "好啦," + msg; break; case 3: msg = msg + " XDD"; break; case 4: msg = msg + " www"; break; case 5: msg = msg + " ^_^"; break; case 6: msg = Bash.Cmd("\"cowsay -f $(shuf -n 1 <(cowsay -l | tail +2 | sed 's/ /\\n/g'))\"", msg); break; default: throw new Exception(); } SendMsg(msg); } SetLastUserMessage(Program.SenderPsid, messageText); //SendMsg($"repeat={GetRepeatCount(Program.SenderPsid, messageText)}"); Write(); EndDialog(Program.NextDialog); }