My current solution is as follows, but it doesn't parse newlines, so it's useless to me.
class multiLineMessages(npyscreen.MultiLine):
allow_filtering=False
_contained_widget=npyscreen.MultiLineEdit
_contained_widget.editable = False
_contained_widget_height=2
def display_value(self, vl: message):
output=''
for i in vl.replies:
output+=f'> {i}\n'
output+=f'[{vl.author}] '
output+=f'{vl.content}'
return output