Rather than having each thread type define its own fetch history method,
let's instead have them tell us what api call to use to avoid
duplicating work
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
So that we can mark posts from bots as read. Otherwise we could end up
sending empty messages until another human posts.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
It's not enough to check for None, we also need to check that there is
actually text in the message.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
Don't create a message object for posts without text. Additionally, use
the accepted character replacements for unicode characters.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>