protected override Phrase Respond(AliceRequest request) { return(new Phrase( "Вот список некоторых пользовательских сценариев, которые возможны с помощью этого навыка.", new [] { "Добавить вебхук", "Список вебхуков", "Выход" } )); }
protected override SimpleResponse Respond(AliceRequest request, State state) { if (!request.HasScreen()) { return(new SimpleResponse { Text = "Добавлять вебхуки можно только на устройстве с экраном", Tts = "Добавлять вэбх+уки можно только на устройстве с экраном" }); } if (state.User.Webhooks.Count >= 20) { return(new SimpleResponse { Text = "У вас очень много вебхуков, удалите что-нибудь сначала с помощью команды \"Список\"", Tts = "У вас очень много вэбх+уков, удалите что-нибудь сначала с помощью команды - Список", Buttons = new [] { "Список", "Помощь", "Выход" } }); } state.Step = Step.AwaitForUrl; return(new SimpleResponse { Text = "Введите URL вебхука:", Tts = "Введите URL вэбх+ука", Buttons = new [] { "Отмена", "Помощь", "Выход" } }); }
private AliceResponse Enter(AliceRequest request, bool restart = false) { bool newUser = _gameplayService.EnterIsNewUser(request.State.User, request.State.Session); Phrase phrase = restart switch { true => new Phrase( "[audio|dialogs-upload/008dafcd-99bc-4fd1-9561-4686c375eec6/cb19ca47-2ef6-4788-b09f-0d47776e4de3.opus]" + "Начинаем новую игру. Перечисли имена игроков:", _prepareButtons ), false when newUser => new Phrase( "[audio|dialogs-upload/008dafcd-99bc-4fd1-9561-4686c375eec6/cb19ca47-2ef6-4788-b09f-0d47776e4de3.opus]" + "Привет. В этой игре я буду загадывать тебе или вам с друзьями определения, " + "а вы должны называть слова. Кто больше угадал — тот и выиграл.\n\n" + "Для начала перечисли имена игроков:", _prepareButtons ), _ => new Phrase( "[audio|dialogs-upload/008dafcd-99bc-4fd1-9561-4686c375eec6/cb19ca47-2ef6-4788-b09f-0d47776e4de3.opus]" + "Привет! Чтобы начать игру, перечисли имена игроков:", _prepareButtons ) }; return(phrase.Generate(request)); }
protected override bool Check(AliceRequest request, State state) { if (state.Step != Step.None) { return(false); } var keywords = new List <string> { "сказать расписание", "скажи расписание", "пока расписание", "какое расписание", "выведи расписание", "озвучь расписание", "расписание" }; var requestString = request.Request.Nlu.Tokens; return(keywords.Any(kw => { var tokens = kw.Split(" "); return tokens.All(requestString.ContainsStartWith); })); }
protected override bool Check(AliceRequest request, State state) { if (state.Step != Step.None) { return(false); } var keywords = new List <string> { "расписание сегодня", "расписание завтра", "расписание послезавтра", "расписание в", "расписание на", "расписание во", "расписание" }; var requestString = request.Request.Nlu.Tokens; var hasKeWorlds = keywords.Any(kw => { var tokens = kw.Split(" "); return(tokens.All(requestString.ContainsStartWith)); }); if (!hasKeWorlds) { return(false); } return(DateCheck(requestString)); }
protected override SimpleResponse Respond(AliceRequest request, State state) { return(new SimpleResponse { Text = "Конечно же на ньюбади! Крутые стримы и смешные нарезки ждут тебя!" }); }
protected override bool Check(AliceRequest request, State state) { return(state.Step == Step.None && request.Request.Command.ToLower().StartsWith("удали") && request.Request.Nlu.Tokens.Count > 1 && GetWebhook(request, state) != null); }
protected override SimpleResponse Respond(AliceRequest request, ISchedulesRepository schedulesRepo, State state) { return(new SimpleResponse() { Text = GetHelper(state) }); }
protected override AliceResponse CreateResponse(AliceRequest request, State state) { var resp = base.CreateResponse(request, state); resp.Response.EndSession = true; return(resp); }
protected override SimpleResponse Respond(AliceRequest request, ISchedulesRepository schedulesRepo, State state) { return(new SimpleResponse() { Text = $"Не поняла" }); }
protected override AliceResponse CreateResponse(AliceRequest request) { AliceResponse resp = base.CreateResponse(request); resp.Response.EndSession = true; return(resp); }
protected override SimpleResponse Respond(AliceRequest request, ISchedulesRepository schedulesRepo, State state) { var positive = new List <string> { "да", "хочу", "хотел бы", "начать", "хорошо" }; var isPositive = positive.Any(item => { var tokens = item.Split(" "); return(tokens.All(request.Request.Nlu.Tokens.ContainsStartWith)); }); if (isPositive) { state.User.DisplaySubjectTime = true; } else { state.User.DisplaySubjectTime = false; } state.Step = Step.AwaitForDisplayingSubjectType; return(new SimpleResponse() { Text = "Хорошо, сделаю все так, как ты сказал \n " + "Что насчет озвучивания типа предмета. \n" + "К примеру: лекция, практическое занятие или лабораторная" }); }
//api/Alice public AliceResponse CofeeRequest([FromBody] AliceRequest aliceRequest) { logger.Debug("Получен запрос от Алисы: " + JsonConvert.SerializeObject(aliceRequest)); switch (aliceRequest.Session.SkillId) { case "CoffeskillID": { if (aliceRequest.Request.OriginalUtterance.Contains("Сделай кофе")) { } else if (aliceRequest.Request.OriginalUtterance.Contains("Долго еще?")) { } else { return(aliceRequest.Reply("Непонятно, повторите", "Непон+ятно, повтор+ите")); } } default: { return(aliceRequest.Reply("Неизвестная команда", "Неизв+естная ком+анда", true)); //break; } } //var response = aliceRequest.Reply(aliceRequest.Request.OriginalUtterance, true); //logger.Debug("Отправляю ответ: " + JsonConvert.SerializeObject(response)); //return response; }
public static AliceResponse Reply(this AliceRequest req, ResponseCard card, string text = "") { var response = req.Reply(text); response.Response.Card = card; return(response); }
public AliceResponse Process(AliceRequest request, LemurState state) { var image = GetNext(); var result = request.Reply(image); return(result); }
protected override SimpleResponse Respond(AliceRequest request, ISchedulesRepository schedulesRepo, State state) { var positive = new List <string> { "да", "хочу", "хотел бы", "начать", "хорошо" }; var isPositive = positive.Any(item => { var tokens = item.Split(" "); return(tokens.All(request.Request.Nlu.Tokens.ContainsStartWith)); }); if (isPositive) { state.User.DisplaySubjectType = true; } else { state.User.DisplaySubjectType = false; } state.Step = Step.AwaitForDisplayingEmployee; return(new SimpleResponse() { Text = $"Ну и последнее, {state.User.Name}, \n" + $"Хочешь , чтобы я называла имя преподавателя, который будет вести занятие?" }); }
public AliceResponse HandleRequest(AliceRequest aliceRequest, string token) { SaveWebhooksToState(aliceRequest, token); // respond AliceResponse response = null; try { if (!Modifiers.Any(modifier => modifier.Run(aliceRequest, out response))) { throw new NotSupportedException("No default modifier"); } } catch (Exception e) { Console.WriteLine("\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ERROR"); Console.WriteLine(e); response = new AliceResponse(aliceRequest) { Response = new Response { Text = "Произошла какая-то ошибка на сервере навыка, разработчик уже уведомлён. " + "Приносим извинения." } }; Console.WriteLine(""); } return(response); }
protected override SimpleResponse Respond(AliceRequest request, State state) { if (request.Request.Command.ToLower() == "да") { using var db = new DatabaseContext(); using var dbd = new DatabaseGroupsContext(); state.User.group = dbd.Grops.Find(state.tempGroup.ToLower()).id; db.Users.Update(state.User); db.SaveChangesAsync(); state.Step = Step.None; return(new SimpleResponse { Text = "Группа записана" }); } else { state.Step = Step.Await4Group; return(new SimpleResponse { Text = "Повторите пожалуйста группу" }); } }
protected override SimpleResponse Respond(AliceRequest request, State state) { var w = GetWebhook(request, state); if (w == null) { return(new SimpleResponse { Text = "Не могу найти вебхук по вашему запросу. Что хотите сделать сейчас?", Tts = "Не могу найти бэбх+ук по вашему запросу. Что хотите сделать сейчас?", Buttons = state.User.Token.IsNullOrEmpty() ? new [] { "Добавить вебхук", "Список", "Авторизация", "Помощь", "Выход" } : new [] { "Добавить вебхук", "Список", "Помощь", "Выход" } }); } using var db = new DatabaseContext(); db.Remove(w); state.User.Webhooks.Remove(w); db.SaveChanges(); return(new SimpleResponse { Text = $"Удален вебхук: {w.Phrase.CapitalizeFirst()}. Что теперь?", Tts = $"Удалён вэбх+ук: {w.Phrase.CapitalizeFirst()}. Что теперь?", Buttons = state.User.Token.IsNullOrEmpty() ? new [] { "Добавить вебхук", "Список", "Авторизация", "Помощь", "Выход" } : new [] { "Добавить вебхук", "Список", "Помощь", "Выход" } }); }
public AliceResponse Post([FromBody] AliceRequest aliceRequest) { aGen.SetData(aliceRequest); var answer = aGen.Generate(); return(aliceRequest.Reply(answer)); }
protected override SimpleResponse Respond(AliceRequest request, ISchedulesRepository schedulesRepo, State state) { var positive = new List <string> { "да", "хочу", "хотел бы", "начать", "хорошо" }; var isPositive = positive.Any(item => { var tokens = item.Split(" "); return(tokens.All(request.Request.Nlu.Tokens.ContainsStartWith)); }); if (isPositive) { state.User.DisplayAuditory = true; } else { state.User.DisplayAuditory = false; } state.Step = Step.AwaitForDisplayingSubjectTime; return(new SimpleResponse() { Text = "Принято, а как насчет того, чтобы я говорила о времени начала и окончания пары?" }); }
public static AliceResponse Reply(this AliceRequest req, ResponseCard card) { var response = req.Reply(card.Title); response.Response.Card = card; return(response); }
public AliceResponse Post([FromBody] AliceRequest value) { generator.SetData(value); var result = generator.Generate(); return(value.Reply(result)); }
public AliceResponse WebHook([FromBody] AliceRequest request) { MessageToSocialNetwork answer = _rabbit.HandleUserMessage(new MessageFromSocialNetwork { Locale = request.Meta.Locale == "ru-RU" ? "ru" : request.Meta.Locale, Text = request.Request.OriginalUtterance, PlayerSocialId = request.Session.UserId, ReplyBackQueueName = "alice" }); return(new AliceResponse { Session = request.Session, Response = new ResponseModel { Text = answer.Text, Buttons = answer .Suggestions .Select(s => new ButtonModel { Title = s.Text }) .ToArray() } }); }
protected override SimpleResponse Respond(AliceRequest request, State state) { using var db = new DatabaseContext(); Parser.Parser s = new Parser.Parser(); var raspisanie = s.getRasp(db.Users.Find(request.Session.UserId).group); // var raspisanie = s.getRasp("3256"); string str = " пока что у вас нет пар"; bool brak = false; foreach (var day in raspisanie) { foreach (var lesson in day.lessons) { if (lesson.Value != "" && lesson.Value != "-" && DateTime.Today.CompareTo(RightDate(day.date)) == -1) { str = lesson.Key + " " + lesson.Value + " " + day.date; brak = true; goto poprtak; } } } poprtak: return(new SimpleResponse { Text = str }); }
protected override AliceResponse CreateResponse(AliceRequest request) { var response = new AliceResponse(request); Example example = FindExample(request.Request.Command); request.State.Session.Step = Step.None; response.Response.Text = example.Description + " По кнопке подробная видеоинструкция о том, как это сделать."; response.Response.Tts = example.DescriptionTts + " - По кнопке подробная видеоинструкция о том, как это сделать."; response.Response.Buttons = new List <Button> { new Button { Title = "Открыть видео", Hide = false, Url = example.Link } }; var suggests = new [] { "Добавить вебхук", "Примеры", "Список", "Выход" }; response.Response.Buttons.AddRange(suggests.Select(x => new Button { Title = x })); return(response); }
private AliceResponse Restart(AliceRequest request) { var phrase = new Phrase("Ты точно хочешь закончить эту игру и начать новую?", _yesNoButtons); _gameplayService.PauseForRestart(request.State.Session); return(phrase.Generate(request)); }
protected override SimpleResponse Respond(AliceRequest request, State state) { return(new SimpleResponse { Text = "Привет! Этот навык - дипломный проект для упрощения получения информации о расписании для студентов РГППУ!" }); }
protected override SimpleResponse Respond(AliceRequest request, State state) { return(new SimpleResponse { Text = "неизвестная команда или не указана группа" }); }
public bool Match(AliceRequest request, Matching matching, FillingData fillingData, ConcurrentDictionary <string, SuperHeroDaySession> concurrentDictionary) { var heroContext = fillingData.FillingHeroContext(); var prepositional = heroContext.Select(x => x.Prepositional).ToArray(); var otherCases = heroContext.Select(x => x.OtherCases).ToArray(); foreach (var i in heroContext) { if (matching.ContainOneOf(request.Request.Command, i.Prepositional)) { SuperHeroDaySession tempHero = concurrentDictionary[request.Session.SessionId]; tempHero.Hero = i.Id; concurrentDictionary.TryUpdate(request.Session.SessionId, tempHero, concurrentDictionary[request.Session.SessionId]); return(true); } } foreach (var i in heroContext) { if (matching.ContainOneOf(request.Request.Command, i.OtherCases)) { SuperHeroDaySession tempHero = concurrentDictionary[request.Session.SessionId]; tempHero.Hero = i.Id; concurrentDictionary.TryUpdate(request.Session.SessionId, tempHero, concurrentDictionary[request.Session.SessionId]); return(true); } } SuperHeroDaySession isNullHero = concurrentDictionary[request.Session.SessionId]; return(isNullHero.Hero != 0); }