Dan Heng

Hand it a book.

It reads the file and gives the pages back inside Discord, one at a time.

Dan Heng APP

H. G. Wells

The Time Machine

As I put on pace, night followed day like the flapping of a black wing. The dim suggestion of the laboratory seemed presently to fall away from me, and I saw the sun hopping swiftly across the sky, leaping it every minute, and every minute marking a day.

The reader, as it arrives in a channel. The arrows work.

What it does

Books sit on shelves. Every server has one anyone there can read. You have a private one nobody else can see.

Reads six formats
EPUB, PDF, DOCX, HTML, Markdown and plain text, up to 10 MB. Chapters come through if the file marks them. A scanned PDF is pictures of words, not words, so it gets turned down.
A proper reader
Arrows turn the page. Jump to a number, pick a chapter, star a page to find it again. It saves your place as you read, and answers in English or Vietnamese.
Look before you keep it
/preview opens a file in the reader without keeping it. No shelf, no listing, gone in about an hour.
Shared or private
The server shelf holds 200 books anyone there can read. Your own holds 100 and is yours alone. /scope moves a book across, tags keep both in order.
Quiet by default
Replies are shown to you and nobody else. share: posts one to the channel, /settings does it for all of them. The buttons still answer only to whoever opened them.

Commands

Keeping books

/shelve Add a book to a shelf
/preview Read a file once, without keeping it
/library See what is on the shelves
/book Details about one book
/tag Set or clear a book's tags
/rename Fix a book's title or author
/scope Move a book between the two shelves
/discard Take a book off the shelf

Reading

/read Open a book where you left off
/continue Back to whatever you read last
/random Open a book at random from the shelves
/find Search a book, or every shelf
/finish Mark a book as read to the end
/bookmark Add, open, edit and remove your marks
/quote Post a page for the channel to read
/progress How far a reader has got, or forget your place
/download Get the original file back

You, and the bot

/stats What you have read, marked and shelved
/settings Page size, progress bar, shared replies, reader colour, language
/help This list, inside Discord
/status Check it is still answering

From the right click menu

Shelve attachment On a message holding a file
Reading now On a person, for what they have open

What it can see

A bot has to declare which events it wants from Discord. This one asks for a single kind: being added to a server, or removed from one. Messages, member lists and presence never reach it. All it sees is a command you ran, or a file you handed it from the right click menu.

Only upload books you have the right to hold. Shelving one stores its text so it can be read and searched, and keeps the file so /download can give it back. /discard removes both. More in the privacy notice.