Welcome to HorisanBot, the ultimate tool designed to enhance your language learning through immersive activities. Whether you're watching anime, reading manga, listening to podcasts, or diving into novels, HorisanBot helps track your progress and makes your language journey both fun and rewarding.
- Activity Logging 📝: Effortlessly log your immersive activities—watching, reading, or listening—and earn points for every logged hour.
- Leaderboards 🏆: See how you stack up against your friends with our competitive leaderboards. Aim for the top to become the immersion champion!
- Personal Profiles 📊: Get a comprehensive view of your immersion statistics and track your progress over time.
- Self Timeout ⏱️: Use the self-timeout feature to manage distractions and maintain focus during your language learning sessions.
- Undo/Redo/Delete 🔙: Easily correct any mistakes in your activity logs with log editing functionality.
- Time Zone Management 🌐: Set your time zone and your streak will reset at 4am just like Anki, timestamps will display to your local time.
- Invite HorisanBot to your Discord server. (Not public at the moment so reach out to me @flarenotfound on discord)
- Use the
/log
command to begin tracking your activities. The more you log, the more points you earn. - Monitor your progress with the
/profile
command or check out the competition with/leaderboard
.
HorisanBot isn't just a tracking tool—it's your partner in the language learning journey. It motivates you by visualizing your progress, encourages competition through leaderboards, and integrates seamlessly into your daily routine. Stay motivated and see your efforts rewarded as you advance towards fluency.
Want to contribute? HorisanBot is currently a mostly solo project, but I’m open to collaboration. Feel free to reach out if you're interested in developing features, fixing bugs, or providing suggestions.
After cloning the repository, run npm i
to install all dependencies in the root of this project.
Ubuntu:
This project uses Puppeteer with the Chromium browser to render graphs, so you might need to install these additional dependencies:
sudo apt-get install libx11-xcb1 libxcomposite1 libasound2 libatk1.0-0 libatk-bridge2.0-0 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6
Copy .env.example
and rename it to .env.dev
. In this file, configure the MongoDB credentials and add your Discord bot token.
To set up your new Discord bot application, follow these steps:
- Go to the Discord Developer Portal and create a new application.
- Select your new app and navigate to Bot under Settings.
- Click Reset Token to generate a new bot token, then copy it.
- Open your
.env.dev
file and replacediscord bot token
with your bot token.
Execute the following command in the root of this project:
node index.js
This project is currently private. Please do not use or distribute any part of HorisanBot without permission.
*Graph generated with the bot (Graphs are still under development and will look better in the near future)
The global leaderboard for monthly filterable by medium and time period
What a log looks like currently (tie-ins with anilist and other media databases expected in the future)
Example of editing a log