diff --git a/cmd/core-runtime/household_scenario_test.go b/cmd/core-runtime/household_scenario_test.go index 806d0d6..078384b 100644 --- a/cmd/core-runtime/household_scenario_test.go +++ b/cmd/core-runtime/household_scenario_test.go @@ -76,4 +76,7 @@ func TestHouseholdBearDrawingUsesCreativeLocalRoute(t *testing.T) { if got := interactiondomain.CreativeDeterministicReply("нарисуй бурого медведя"); got != "🐻" { t.Fatalf("bear drawing fallback=%q", got) } + if got := interactiondomain.CreativeDeterministicReply("нарисуй птицу"); got != "🐦" { + t.Fatalf("bird drawing fallback=%q", got) + } } diff --git a/modules/interaction/domain/chat.go b/modules/interaction/domain/chat.go index d3694a4..1587801 100644 --- a/modules/interaction/domain/chat.go +++ b/modules/interaction/domain/chat.go @@ -668,6 +668,9 @@ func CreativeDeterministicReply(message string) string { if containsStemInTokens(tokens, "нарис", "рису", "изобраз") && containsStemInTokens(tokens, "медвед", "мишк") { return "🐻" } + if containsStemInTokens(tokens, "нарис", "рису", "изобраз") && containsStemInTokens(tokens, "птиц", "птичк", "ворон", "голуб") { + return "🐦" + } return "" } diff --git a/modules/interaction/domain/chat_test.go b/modules/interaction/domain/chat_test.go index d351cba..e18eac6 100644 --- a/modules/interaction/domain/chat_test.go +++ b/modules/interaction/domain/chat_test.go @@ -289,6 +289,9 @@ func TestInterpretCreativeRequestDoesNotRequireExternalEvidence(t *testing.T) { if got := CreativeDeterministicReply("нарисуй бурого медведя"); got != "🐻" { t.Fatalf("bear reply = %q", got) } + if got := CreativeDeterministicReply("нарисуй птицу"); got != "🐦" { + t.Fatalf("bird reply = %q", got) + } } func containsString(values []string, expected string) bool {