The cutest multipurpose Discord bot. https://takina.orangc.net
  • Python 97.9%
  • Nix 1.8%
  • Dockerfile 0.3%
Find a file
renovate 5c09c9acb8
All checks were successful
Deploy GHCR.io image / Deploy (push) Successful in 1m15s
chore(deps): update dependency virtualenv to v21.3.1
2026-05-05 05:00:48 +03:00
.forgejo chore(deps): update all dependencies 2026-04-29 21:51:49 +03:00
.github chore: remove github workflow 2026-04-29 18:56:21 +03:00
nix feat(util.translate): init, closes #45 2026-04-21 13:30:17 +03:00
takina fix(sesp.iad.screw_om): it should only go through one audit log entry i think 2026-04-21 14:45:54 +03:00
.env.example docs: update env example and some comments here and there 2025-04-14 20:53:21 +03:00
.envrc feat(nix): i use direnv now 2026-05-01 17:12:37 +03:00
.gitignore feat(nix): i use direnv now 2026-05-01 17:12:37 +03:00
CHANGELOG.md fix(util.translate): lang format wasn't parsed properly 2026-04-21 14:38:08 +03:00
CONTRIBUTING.md docs: contributing.md is probably fine now, closes #38 2026-04-21 13:56:04 +03:00
docker-compose.yml Fix a typo in the docker compose file 2025-09-06 11:52:02 +03:00
Dockerfile Add revert command, modify honeypot a bit and make uv the standard for the repo 2026-04-14 20:18:37 +03:00
flake.lock chore(deps): update lock file(s) 2026-05-04 10:44:04 +03:00
flake.nix fix(nix): some packaging issues & remove need for dataDir 2026-04-20 10:10:22 +03:00
LICENSE license: switch to GNU AGPLv3 2025-04-14 09:13:06 +03:00
pyproject.toml chore(deps): update dependency virtualenv to v21.3.1 2026-05-05 05:00:48 +03:00
README.md docs: contributing.md is probably fine now, closes #38 2026-04-21 13:56:04 +03:00
renovate.json Add renovate.json 2026-04-29 17:48:12 +03:00
ruff.toml style(ruff): changed some ruff settings 2025-05-08 11:17:49 +03:00
uv.lock chore(deps): update dependency virtualenv to v21.3.1 2026-05-05 05:00:48 +03:00

Takina

A simple multipurpose bot for Discord. Also the very cutest Discord bot. Sakanaaa <3

For a list of features and other information please visit: https://takina.orangc.net.

Selfhosting

On NixOS

We will assume that you have flakes enabled.

Add Takina to your inputs like so:

inputs.takina = {
    url = "git+https://git.orangc.net/c/takina";
    # optionally make takina follow your nixpkgs input (recommended)
    inputs.nixpkgs.follows = "nixpkgs";
};

You may now use our NixOS module:

services.takina = {
    enable = true;
    config = {
        PREFIX = "?";
        EMBED_COLOR = "0x2B2D31";
        # you may also set TOKEN here, but we ***highly*** advise you not to
        # as that would make your bot token publicly readable in the Nix store
        # you can instead set it via services.takina.environmentFile
        # which you set with a a path to a file
        # containing TOKEN=abc
        # we recommend using sops-nix/agenix for this
    };
};

Or even install the Takina package directly:

environment.systemPackages = [ inputs.takina."x86_64-linux".default ];

Happy nixxing!

With Docker

Before proceeding, I am assuming that you have a running MongoDB database. The majority of Takina's functionality depends on a MongoDB instance being available. A guide on selfhosting MongoDB with Docker is available here, you can also consider using MongoDB Atlas or use the MongoDB server made in the docker compose file.

Manually

Assuming you have git and docker installed.

  • git clone https://github.com/orangci/takina && cd takina
  • Set all the required environment variables in the .env file. You can find a list of what those are in the .env.example file. You can leave most of them as their defaults, but you at a minimum must set the TOKEN (Discord bot token), HASDB=yes, and MONGO (your MongoDB URI.)
  • docker build --tag 'takina' .
  • docker run 'takina'
Docker Compose

Assuming you have git and docker installed.

  • git clone https://github.com/orangci/takina && cd takina
  • Set all the required environment variables in the docker-compose.yml file. You can find a list of what those are in the docker-compose.yml file, don't forget to make a .env file for the passwords or tokens as well! You can find out which enviroment variables need to go to the .env file if its for example ${TOKEN}.
  • docker compose up -d

Contributing

Please see CONTRIBUTING.md.

License

Specifications