World Interfaces

A world interace is any external service, device, etc. that enables the Dialog System to interact with the world outside of the dialog system. Interaction with a World Interface is provided to a conversation via InputDevices and OutputDevices. Some need to be initialized or controlled which would be done by the ConversationManager. This page is a list of currently supported World Interfaces and provides information on how to use them and how they work.

Dialog System World Interfaces



Robot interface

The Robot Operating System (ROS) provides an interface so the dialog manager may be deployed as the brain of roboy. It provides a way to communicate with the actual hardware and using its many ways of acting on and sensing the world as in- and outputs.

The memory, vision, emotion, speech, generative model and middleware communication is carried out through RosMainNode object which implements AbstractNodeMain (inheriting NodeListener of rosjava) and offering the control through the following important methods:

  • onStart
  • onShutdown
  • onShutdownComplete
  • onError

Currently, it also provides with the next custom methods:

  • SynthesizeSpeech
  • RecognizeSpeech
  • GenerateAnswer
  • ShowEmotion
  • DetectIntent
  • addListener
  • waitForLatchUnlock



I/O Device

Choose cerevoice in- and output in

Cerevoice is a software for speech-to-text and text-to-speech processing. An external cerevoice software instance must be provided in order for the Dialog System to use this.



I/O Device

Choose udp in- and output in

The dialog system may recieve and send in- and output that needs no further processing through a udp port configured in



Input Device

Choose bing input in

Bing speech-to-text processing. Requires internet connection and the roboy_speech_recognition ROS package.

Command line


I/O Device

Choose cmd in- and output in

In- and output via the command line in which the Dialog System is launched. Pure text-based in- and output.



I/O Device

Choose telegram in- and output in

Use a telegram bot to interface with the world. See Configuring a telegram bot for more information.

If the dialog system has been configured to use telegram as input world interface, the command line switches into control mode where an operator may use the shutdown command for a safe shutdown that makes the dialog system properly say goodbye to active interlocutors.
  • [Deprecated] CypherMemoryQuery
  • [Deprecated] DeleteMemoryQuery
  • [Deprecated] GetMemoryQuery
  • [Deprecated] UpdateMemoryQuery
  • [Deprecated] CreateMemoryQuery