If you want to be complicated, you can use TCP. But as i said before, you can make applications communicate with eachother in console. Readln(), Writeln() and maybe Flush() are all that are needed for the bots. I assume most pascal based languages can read and write to system console?
The game host application may need some process threading, or other fancy thing i haven't experimented with much. TProcess class on fpc?
And of course the consoles themselves can be hidden from the user, so the communication is invisible.
Bookmarks