The bot can understand all of things that you concern about and I hope this will be like a friend when you need somebody to talk with.
I use dataset crawed from Facebook in form post-and-comment.
First prototype I use model Pretrained of facebookresearcher team to use for word/sentence embedding. Compare the user's message to posts crawed and get the most similar one to use as the intent of user. Then random one from the comment list correcsponding to the post chosen to respond the user's message.