
Table of Contents
What is Nijika?
Nijika is a Discord bot that allows you to log your immersion and share your progress with others in a server. It is heavily inspired by TMW’s Immersion Bot. I created it with my friend Colby to learn more about software development and because I thought a custom-made solution would be fun to have for my own server.
Because Nijika is specifically made for my own server, I do not have a public instance of it. You are certainly free to host your own instance if you’d like it though! See the GitHub repository for more information.
Basic Usage
Logging immersion through Nijika involves creating a Source, which is essentially just a piece of media. You can create a source by using /log
.

The bot will prompt you for the source’s name, type, and an optional description. Once a source is created, you can then make a time entry with /log
. The source you have created will appear in the dropdown list.

You can then follow the prompts to log your immersion. There is more you can do with Nijika, but this is the most basic usage of it. To see more commands, see Commands.
Commands
This is a list of all the commands that Nijika has, as well as their usage.
Log/Source Commands
These are commands related to logging immersion and managing sources.
Log (/log
)
The /log
command is the only command you need to use the most basic features of Nijika. It handles the creation of sources as well as logs. You can simply call it with /log
and follow the prompts. See Basic Usage for more information.
Quick Log (/qlog
)
The /qlog
command allows you to quickly log immersion without having to go through graphical prompts. It can be used like:
/qlog <source name> <time>
For example, logging a source called ‘Higurashi no Naku Koro ni’ for 30 minutes would look like:
/qlog name:Higurashi no Naku Koro ni duration:30
Discord will autocomplete the source name as well as provide you with a list of sources if you don’t remember the exact name.
Quick One Time Log (/qonetime
)
The /qonetime
command allows you to quickly log a one-time immersion session. It can be used like:
/qonetime <source name> <type> <time> <description (optional)>
For example, logging a one-time session of ‘Higurashi no Naku Koro ni’ for 30 minutes might look like:
/qonetime name:Higurashi no Naku Koro ni type:Visual Novel duration:30 description:YOOOOOOOO
Complete (/complete
)
The /complete
command allows you to complete a source. This is useful for when you finish a piece of media and want to mark it as complete. Use it by calling /complete
and selecting the source you want to complete from the dropdown list.
Edit (/edit
)
The /edit
command allows you to edit a source. You can edit the source’s info or pause/resume it. Use it by calling /edit
and selecting the source you want to edit from the dropdown list.
Sources (/sources
)
The /sources
command allows you to view all of your sources. Use it by calling /sources
. They can be filtered by status.
Source Info (/sourceinfo
)
The /sourceinfo
command allows you to view a source’s info. This can be used to view the source’s description, type, total time, and status. The format is:
/sourceinfo <source name>

Random Source (/randomsource
)
The /randomsource
command allows you to get a random source from your list. This can be used to help you decide what to immerse in. The format is:
/randomsource <type (optional)>
Progress Commands
These are commands related to visualizing your progress in some way.
Leaderboard (/leaderboard
)
The /leaderboard
command allows you to view the server’s leaderboard. This shows the top 10 users in the server by experience points. Use it by calling /leaderboard
. Time range can be optionally passed in, options are daily
, weekly
, and monthly
. Defaults to monthly
.

Personal (/personal
)
The /personal
command allows you to view a chart of your tracked immersion time. Use it by calling /personal
. Time range can be optionally passed in, options are daily
, weekly
, and monthly
. Defaults to monthly
.

Daily (/daily
)
The /daily
command allows you to view a breakdown of your daily immersion. Use it by calling /daily
.

Profile (/profile
)
The /profile
command allows you to view your profile. This includes your experience points and total immersion time. Use it by calling /profile
.

Export (/export
)
The /export
command allows you to export your immersion data. It exports an XML file. Use it by calling /export
.
Admin Commands
These are admin-only commands that are used to manage the bot.
Recalculate (/recalculate
)
This recalculates the duration of all logs. This was used for when durations were not being calculated correctly. It is not necessary to use this command unless you are experiencing issues with durations. Make a backup of your database before using this command, it is destructive.
Set Channel (/setchannel
)
This sets the channel that the bot will post the leaderboard in. Use it by calling /setchannel
and selecting the channel you want to set from the dropdown list.
Toggle Auto Leaderboard (/toggleautoleaderboard
)
This toggles the bot’s auto leaderboard feature. When enabled, the bot will automatically post the leaderboard in the channel set by /setchannel
. Use it by calling /toggleautoleaderboard
.