Inspiration
Books are tedious. Talking about books is tedious too, especially online. If a teacher, study partner, or friend asks to consult some specific part of a book with you, you can bet there's a disruptive wave of different editions, conflicting page numbers, and inconvenience. I wanted to recreate the feeling of leaning over and pointing at a passage for someone in Discord. More specifically, I got inspiration from a language-learning server where people frequently used bots connected to dictionaries seamlessly in conversation to talk about specific words. I thought something similar could be done with ebooks.
What it does
There are three basic functions of GutenBot: storing a Gutenberg ID for some work, searching through the body of that work, and managing a collection of excerpts. GutenBot is able to store an ID either through having it directly set, or allowing a user to search through the Project Gutenberg catalog using a title or author. Next, it's able to highlight matches for a keyword or quotation. The number of matches and context surrounding the match can be customized. Finally, there is a system to add, delete, and display a collection of excepts and annotations across all the works accessed.
Challenges
The hardest challenge to overcome was dealing with Project Gutenberg itself. I do not have much experience with large amounts of data, and went down countless dead ends and wild goose chases to get the project to the state it's in now.
What's next for GutenBot
I can easily see the basic structure of GutenBot repurposed for some other library than Project Gutenberg. I can also see potential features on the Discord side of things, like multi-person comment threads, or the ability for teachers to assign annotations of certain texts.
Built With
- discord
- gutenberg
- python
Log in or sign up for Devpost to join the conversation.