Nijika

Post image

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.

nijika log command

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.

nijika log command part 2

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:

For example, logging a source called ‘Higurashi no Naku Koro ni’ for 30 minutes would look like:

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:

For example, logging a one-time session of ‘Higurashi no Naku Koro ni’ for 30 minutes might look like:

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:

nijika sourceinfo command

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:

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.

nijika leaderboard command

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.

nijika personal command

Daily (/daily)

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

nijika daily command

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.

nijika profile command

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.