I'm a hobbyist chess programmer. I've built a few engines from scratch, had lots of fun, and am generally pretty proud of what I've made (I estimate ~1400-1500 though it's hard to tell).
I was very excited when I found out you can make a bot account on lichess. After a few hours of messing around, I successfully played a game against Stockfish running on my computer through the lichess interface, so I think I (sort of) know how to connect an engine to my bot account.
However, for all the engines I've made in the past, I have made my own board representation and move in/output. Obviously I'll need to make some modifications to them in order to connect them to lichess. When connecting Stockfish to my account, I used the Stockfish .exe file you can download online. The lichess interface accepted it, so I'm guessing there's some semi-standard way to make interface with engines. I would like to make one of these interfaces.
Questions: am I correct that there is a standard way to interface with an engine? If so, how would you go about making one? Are there any good guides to doing so?
Or perhaps more generally: how would you adapt a "from scratch" engine to play on lichess?
I'm almost entirely self taught programming wise, and am very conscious of the gaping holes in my understanding of computers/programming. Pointing me to any resources would be very helpful.