A multipurpose discord bot.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
noirscape ef3ac4cc8d
Dumb named parameter fix
6 days ago
cogs Dumb named parameter fix 6 days ago
db_models Add starboard code 2 weeks ago
utils Make use of raw events 2 weeks ago
.gitignore Added .idea to gitignore 1 month ago
LICENSE nekos.life API implementation 1 month ago
README.md Expanding README with information 1 month ago
config.yml.example Expanding README with information 1 month ago
main.py Add starboard code 2 weeks ago
requirements.txt Basic implementation of simple custom commands 1 month ago
secure.yml.example Initial commit 5 months ago



  • Recursive clone the repo.
  • Use a venv, this bot has several dependencies.
  • Only tested on linux.
  • To properly use deepcreampy, set up the DeepCreamPy dockerfile under the name deeppomf/deepcreampy:latest (slightly different from the official one, see capitalization!)


  • Moderation! Can kick and ban users with reasons. Also supports warning users and assigning roles.
    • Needs a specific server structure, see the wiki.
  • Custom commands (functionally similar to tags).
  • nekos.life API implementation. Query catgirls straight to your discord.
  • DeepCreamPy decensorer! Upload an image marked appropriatle,y and the bot will decensor it fo ryou.
  • Rotating status indicating various statistics about the bot.
  • Admin commands.

NSFW features

These features only work in channels marked as NSFW on discord.

  • NHentai reader.
  • Most of the available nekos.life commands.

Public instance

This bot has a public instance available here.

This bot expects the server to be set up in a certain way if you plan to make use of the moderation commands. See the wiki for details on this.

The deepcream cog is disabled on the public instance due to server usage.

Do not add this bot to guilds that violate the Discord TOS. If you make use of the various logging options, be aware that you will need to disclose this in your server rules.

Self deploy

These are general instructions.

  • Clone the repository with git.
  • Make a venv (python3 -mvenv).
  • Copy config.yml.example to config.yml and edit settings. testing_mode disables the public invite with a different message, but this is customized to me. If you want your instance to use the deepcream cog, enable it here.
  • Copy secure.yml.example to secure.yml and add your token to it.
  • Activate the venv: source venv/bin/activate.
  • python3 -mpip install -r requirements.txt
  • python3 main.py

The bot makes use of an instance folder called config.

To update, carefully check each commit for breaking changes before pulling (particularly w/r/t sqlite database layouts.)


AGPLv3, not licensable under later versions with additional clauses 7b and 7c in effect.

# kirigiri - A discord bot.
# Copyright (C) 2018 - Valentijn "noirscape" V.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation at version 3 of the License.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.
# In addition, the additional clauses 7b and 7c are in effect for this program.
# b) Requiring preservation of specified reasonable legal notices or
# author attributions in that material or in the Appropriate Legal
# Notices displayed by works containing it; or
# c) Prohibiting misrepresentation of the origin of that material, or
# requiring that modified versions of such material be marked in
# reasonable ways as different from the original version; or