The Librarian is a Discord bot designed to help book club communities. With features like book information lookup, ebook email list, and a suggestion/selection function, this bot should make your book club admin experience much simpler. It is designed to be run in Docker, specifically with docker-compose.
Clone this repository
Enter the repository and run npm install
. This will install all the required dependencies.
Edit the docker-compose.yml
file.
Replace <your-repository-location>
with the full path to your repository.
Replace <your-config-location>
with the directory in which you would like to store your configuration.
Replace <your-timezone>
with your timezone.
Run the command docker build -t librarian .
and then docker-compose up -d
This will create a blank configuration.yaml
file in your defined config directory for you to fill in.
Here is the required information:
Name | Description |
---|---|
token | The Discord bot token for your bot |
user_bot | The user id for the bot |
channel_current_book | The channel id for the channel in which the current book selection will be stored. The bot should have exclusive write permissions to this channel. |
channel_upcoming_book | The channel id for the channel in which the upcoming book selection will be stored. The bot should have exclusive write permissions to this channel. |
channel_past_book | The channel id for the channel in which old selections will be archived. The bot should have exclusive write permissions to this channel. |
channel_book_suggestions | The channel id for the channel in which the current suggestion pool will be stored. The bot should have exclusive write permissions to this channel. |
channel_spam | The channel id for the channel in which the bot can send it's current status and other non-essential information. |
server_id | The server id for the book clud server |
role_admin_name | The name of the role in your server that carries admin privileges. This will be used to check whether a user has permission to call certain commands |
librarian_email | The gmail account email for the bot to send ebooks to subscribers |
librarian_email_password | The app password for the bot gmail account |
restart_command | The shell command to restart the bot |
prefixes | A list of character prefixes you would like the bot to respond to |
After filling in the necessary information in configuration.yaml
restart the docker container. You should be up and running.