Advertisement
Guest User

Untitled

a guest
May 19th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.59 KB | None | 0 0
  1. package Bot
  2.  
  3. import java.util.Date
  4.  
  5. object App {
  6.  
  7.   def responseToLine(line: String, user: User): String = {
  8.     val result = CommandParser(line.trim)
  9.     result.map {
  10.       case c: Matcher.CreatePollM =>
  11.         CommandImpl.createPollView(CommandImpl.createPoll(c.name,c.anon,c.cont,c.start,c.stop, user), c.name)
  12.       case c: Matcher.ListM => CommandImpl.listPolls()
  13.       case c: Matcher.DeleteM => CommandImpl.deletePoll(c.d,user)
  14.       case c: Matcher.StartM => CommandImpl.startPoll(c.d, new Date(), user)
  15.       case c: Matcher.StopM => CommandImpl.stopPoll(c.d, new Date(), user)
  16.       case c: Matcher.ResultM => CommandImpl.pollResult(c.d)
  17.       case c: Matcher.BeginM => CommandImpl.begin(c.d)
  18.       case c: Matcher.EndM => CommandImpl.end()
  19.       case c: Matcher.AddQuestionOpenM => CommandImpl.addQuestion(c.q,c.t,"open"::Nil, user)
  20.       case c: Matcher.AddQuestionChoiceM => CommandImpl.addQuestion(c.q,c.t,c.variant, user)
  21.       case c: Matcher.DeleteQuestionM => CommandImpl.deleteQuestion(c.d, user)
  22.       case c: Matcher.AnswerStringM => CommandImpl.addAnswerOpen(c.d,c.a, user)
  23.       case c: Matcher.AnswerDigitM => CommandImpl.addAnswerChoice(c.d,c.a, user)
  24.       case c: Matcher.ViewM => CommandImpl.view()
  25.       case c: Matcher.PrintHelpM => CommandImpl.printHelp()
  26.     } match {
  27.       case CommandParser.Success(response, _) => response.toString
  28.       case CommandParser.Failure(text, _) =>
  29.         if (text.contains("expected")) s"```$text```" else text
  30.       case CommandParser.Error(text, _) =>
  31.         if (text.contains("expected")) s"```$text```" else text
  32.     }
  33.   }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement