> ./load-projects-Book Club Bot-2025-11-26T00:00:00+00:00.sh

> loading progress bar...

[ ██████████████████████████████████████████████████ ] 100%

> retrieving projects@November 26, 2025...

I created a Book Club Bot to help manage and facilitate book club activities. This is how it works and my process in building it. It is currently active on my own discord server. Some of the features of the bot include:

  • Uses Discord as the way users interact with the bot
  • Allows setup of Admin and normal user accounts, so people on the server can easily moderate and control it.
  • Interfaces with the Discord API using discordgo
  • Queries the GoodReads API to allow users to search for books and add them to the list of books to choose from.
  • Helps users keep track of reading progress and logging.
  • Uses a simple pebble database to store books, user data, etc.

Planning

First, I needed to define the core features of the bot. I wanted it to be able to:

  • Allow users to suggest books
  • Generate polls for book selection
  • Send reminders for meetings
  • Keep track of reading progress
  • Show book list and sort by author, tags, or title.

I decided to use the library ‘discordgo’ for interacting with Discord. It provides a simple and effective way to create bots that can respond to commands and interact with users. I also chose to use ‘when’ for scheduling tasks so users can interact with the bot in a more natural way. For example, they can say “Remind me to read in 2 days” and the bot will understand and set a reminder accordingly.

I setup a Pebble database to store all the book suggestions, user data, and reminders. This allows the bot to persist data across restarts and keep track of everything in an organized manner.

I then used the discord API to create commands for users to interact with the bot. For example, users can use the command “!suggest [book name]” to suggest a book, and the bot stores that suggestion in the database. I also created a command “!poll” that generates a poll for book selection based on the suggestions in the database. TODO: Add documentation for the commands and how to use them. The Discord API has a way to do that, I want to add more details.

I also want to add more features in the future, such as integration with Goodreads to fetch book details and cover images, and a web interface for managing the book club activities.

Bot Time

So far, so good. The bot is working well on my test server, and I have recieved some positive feedback from users.

the bot working great on Discord

The Bot working great on Discord

Overall, building the Book Club Bot has been a fun and rewarding project. It has allowed me to learn more about Go, Discord bots, and database management. I look forward to continuing to improve the bot and adding more features in the future.

.> /load-comments-Book Club Bot-linux-x64.sh

comments powered by Disqus