Could you please correct your bot to not use double return for new line, which causes empty lines? And instead use a double space at the end of the line, and then return, which works as a normal return.
I have no idea why Lemmy does formatting this very counter intuitive way, but that’s how it is.
They are different things. space+space+return is for a new line, yes, but return+return is for a new paragraph, which is a different thing. There is supposed to be a space, some clients just reduce it to a little less than one full line to look more compact, while others just leave the full empty line like you say. Either way it’s the intended behaviour.