The last tag bot you need. Manage Tags via GitHub and GitLab Repositories.
Krile is a discord bot to manage public provided tags. Those tags are provided by git repositories.
Servers can import the repositories they need and make the tags inside them available to their community.
To import a repository use the /repositories add
command.
You can either import is by an url or by defining the repository and user which owns it.
Repositories also have a unique identifier, which allows you to import them.
For example this repository has the identifier github:rainbowdashlabs/krile
.
Once you execute the command the repository will be imported if not already done. After that the tags will be available on the server.
To enable krile for a repository you need to add a krile.yml
or krile.yaml
in your project.
This file can be located at:
This file then may contain the following keys. You can also leave the file empty.
# The pretty name of the repository. Otherwise, the identifier is used.
name: "My repository"
# The repository description to describe what the tags contain
description: "Cool repository"
# A list of categories, which describe this repository
category: ["tips", "java", "discord"]
# Mark this repository as public.
# This will make it appear in the search.
# People can still import your repository via the identifier or url.
# To appear in the search you also need to define a name, description and set a language
public: true
# Set the language of the repo
language: en
# Change the directory where the tags are located
# Default is root
# This allows you to include your tags in your project instead of an extra repository.
# Our tags are contained in a directory called "tags"
directory: tags
# This is a list of included tags from the defined directory.
# You may only set include or exclude
include: ["included_tag"]
# This is a list of excluded tags from the defined directory.
# You may only set include or exclude
exclude: ["excluded_tag"]
Note: You can also use krile.json if you like json more. A schema is available.
{
"$schema": "https://raw.githubusercontent.com/rainbowdashlabs/krile/main/.github/repository_schema.json"
}
If you do not want to directly include all your tags in one repository and want a more fine-grained distribution you can make use of sub repositories. However, this will only allow users to import your repository via the identifier or be declaring the repository. To declare a sub repository all you need to do is create a directory with a krile repository configuration in it. Tags can still be in a subdirectory, however the directory is now resolved from the directory your tags are in.
This repository contains a sub repository as well.
It is located in the sub-tags
directory.
To import it, we can use the github:rainbowdashlabs/krile/sub-tags
identifier.
Note that you can still have a krile file at the root of your project as well.
Sub repositories can be helpful when:
Tags in Krile are not only tags, but also contain some metadata. Metadata is set via a file header at the start of a file. This header is optional, and you can also simply add markdown and call it a day. Tag files need to be of type .md otherwise they are ignored.
The tag itself supports any kind of markdown, that is supported by discord
---
# Change the tag id.
# By default the tag id will be the file name without .md
# Setting the id here is helpful if you rename the file, but want to stick with the id.
# The id is used for e.g. counting statistics.
id: my tag
# The actual tag name
# By default this will be the id
tag: my cool tag
# A list of aliases this tag will be displayed.
# Aliases have a lower priority than the actual tag name.
# When a conflict arises the tag using the name directly takes precedence.
alias: ["my tag", "another tag"]
# The categories of the tag. This populates the search for tags and is also used in the discovery feature.
category: ["java", "tutorial", "tags"]
# An image which should be displayed for the tag
image: https://krile.dev/my_image.png
---
# Awesome tag
You can use any kind of markdown here supported by [Discord](https://discord.com)
Note: You can also use json in the header as well if you like json more. A schema is available.
{
"$schema": "https://raw.githubusercontent.com/rainbowdashlabs/krile/main/.github/tag_schema.json"
}
Instead of using normal markdown you can use an embed editor like the one from glitchii to create an embed.
Once you get the json code just paste it where you would normally paste the markdown.
Set the type key in your tag meta to EMBED
and let the magic happen.
Please note that pagination is currently not supported for embeds. You are limited to 6k characters total and 10 embeds max.
You can find an example embed tag here
If a tag exceeds the 2000 characters limit set by discord it will be automatically split into 2000 characters chunks.
You can define your own pages by adding <new_page>
in your text when a new page should star.
0
0 reviews
Reviews can be left only by registered users. All reviews are moderated by Top.gg moderators. Please make sure to check our guidelines before posting.
5 stars
0
4 stars
0
3 stars
0
2 stars
0
1 star
0
No reviews here yet!
Details
Prefix
/
Socials
Tags
Languages
English (EN)
German (DE)
Creators