Я хочу сделать бот DialogFlow доступным как на голландском, так и на английском языке. В приветственном сообщении я хочу спросить пользователя, какой язык он предпочитает, используя 2 кнопки на карточке. Эти две кнопки ведут к двум целям: одна для английского, другая для голландского.
Английская - простое подтверждение, так как он по умолчанию уже английский. Однако голландское соглашение о намерениях вызывает Java API. Это вызовет FollowupEventInput, содержащий событие подтверждения и код языка. Тем не менее, это не работает, как задумано, и я все еще получаю свой ответ на английском языке, вместо того, чтобы DialogFlow переключиться на английский бот.
Ниже приведен класс, который должен возвращать ответ на голландском языке.
@Component
public class DutchLanguage implements IntentHandler {
private final List<String> INTENT = Arrays.asList("c3b5b2ac-b7ef-4367-9823-a66c4f551b9d", "bc249b21-835a-4848-bb0a-8eacb0947786");
@Override
@Nonnull
public List<String> getIntentId() {
return INTENT;
}
@Override
@Nonnull
public WebhookResponse handleIntent(WebhookRequest webhookRequest) {
final WebhookResponse.Builder builder = WebhookResponse.newBuilder()
.setFollowupEventInput(EventInput.newBuilder()
.setLanguageCode("nl")
.setName("ChangeToDutchConfirmation")
.build());
return builder.build();
}
}
Как уже говорилось, это не дает ответа на голландском, а один на английском (из намерения о подтверждении на голландском языке). так что правильно).