diff --git a/.github/workflows/writerside.yml b/.github/workflows/writerside.yml new file mode 100644 index 0000000..860e7b8 --- /dev/null +++ b/.github/workflows/writerside.yml @@ -0,0 +1,75 @@ +name: Build documentation + +on: + push: + # To trigger the workflow once you push to the `main` branch + # Replace `main` with your branch’s name + branches: ["aviation"] + # Specify to run a workflow manually from the Actions tab on GitHub + workflow_dispatch: + +permissions: + id-token: write + pages: write + +env: + # Name of module and id separated by a slash + INSTANCE: Writerside/docs + # Replace XX with the ID of the instance in capital letters + ARTIFACT: webHelpDOCS2-all.zip + # Docker image version + DOCKER_VERSION: 241.18775 + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Build Writerside docs using Docker + uses: JetBrains/writerside-github-action@v4 + with: + instance: ${{ env.INSTANCE }} + artifact: ${{ env.ARTIFACT }} + docker-version: ${{ env.DOCKER_VERSION }} + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: docs + path: | + artifacts/${{ env.ARTIFACT }} + retention-days: 7 + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + # Requires build job results + needs: build + runs-on: ubuntu-latest + + steps: + - name: Download artifact + uses: actions/download-artifact@v4 + with: + name: docs + + - name: Unzip artifact + run: unzip -O UTF-8 -qq ${{ env.ARTIFACT }} -d dir + + - name: Setup Pages + uses: actions/configure-pages@v4.0.0 + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3.0.1 + with: + path: dir + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4.0.4 \ No newline at end of file diff --git a/README.md b/README.md index 1726c33..39c24c9 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,11 @@ # Yiski -

YiskiBanner

+

YiskiBanner

# What is Yiski -A bot to replace the original idea of devOS Core for the devOS: Sanity Edition server. Also used to try to learn ~~Python~~ Kotlin for fun. -- ~~Uses Python 3.10, but 3.9+ should work.~~ Now using Kotlin! +Yiski is an in-house developed Discord bot by devOS: Sanity Edition, with its development being lead by [asojidev](https://github.com/asoji). -**This is something I'm doing just for fun and to learn ~~Python~~ Kotlin, excuse anything shitty going on.** +Powered by [JDA](https://github.com/discord-jda/JDA), [JDA-KTX](https://github.com/minndevelopment/jda-ktx), and [CephalonCosmic](https://twitter.com/CephalonCosmic)'s [Aviation](https://gitlab.com/artrinix/discord/aviation) Framework. Kotlin too, of course. ## License This project is licensed under the [MIT License](LICENSE) \ No newline at end of file diff --git a/Writerside/c.list b/Writerside/c.list new file mode 100644 index 0000000..c4c77a2 --- /dev/null +++ b/Writerside/c.list @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/Writerside/cfg/buildprofiles.xml b/Writerside/cfg/buildprofiles.xml new file mode 100644 index 0000000..7b955f2 --- /dev/null +++ b/Writerside/cfg/buildprofiles.xml @@ -0,0 +1,21 @@ + + + + + + + + logo.svg + #00a86b + #00a86b + false + icon16.png,icon32.png,icon96.png,icon300.png,icon500.png + + + + + diff --git a/Writerside/docs.tree b/Writerside/docs.tree new file mode 100644 index 0000000..667c7f3 --- /dev/null +++ b/Writerside/docs.tree @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Writerside/images/antihorny.mp4 b/Writerside/images/antihorny.mp4 new file mode 100644 index 0000000..6b9e084 Binary files /dev/null and b/Writerside/images/antihorny.mp4 differ diff --git a/Writerside/images/antihornythumbnail.png b/Writerside/images/antihornythumbnail.png new file mode 100644 index 0000000..dfd9dbe Binary files /dev/null and b/Writerside/images/antihornythumbnail.png differ diff --git a/Writerside/images/completion_procedure.png b/Writerside/images/completion_procedure.png new file mode 100644 index 0000000..3535a3f Binary files /dev/null and b/Writerside/images/completion_procedure.png differ diff --git a/Writerside/images/completion_procedure_dark.png b/Writerside/images/completion_procedure_dark.png new file mode 100644 index 0000000..a65beb0 Binary files /dev/null and b/Writerside/images/completion_procedure_dark.png differ diff --git a/Writerside/images/convert_table_to_xml.png b/Writerside/images/convert_table_to_xml.png new file mode 100644 index 0000000..2518a64 Binary files /dev/null and b/Writerside/images/convert_table_to_xml.png differ diff --git a/Writerside/images/convert_table_to_xml_dark.png b/Writerside/images/convert_table_to_xml_dark.png new file mode 100644 index 0000000..4716122 Binary files /dev/null and b/Writerside/images/convert_table_to_xml_dark.png differ diff --git a/Writerside/images/devtoolsconfig.png b/Writerside/images/devtoolsconfig.png new file mode 100644 index 0000000..029e46d Binary files /dev/null and b/Writerside/images/devtoolsconfig.png differ diff --git a/Writerside/images/dreadfulims.png b/Writerside/images/dreadfulims.png new file mode 100644 index 0000000..4e5023d Binary files /dev/null and b/Writerside/images/dreadfulims.png differ diff --git a/Writerside/images/gasp.mp4 b/Writerside/images/gasp.mp4 new file mode 100644 index 0000000..b89eb29 Binary files /dev/null and b/Writerside/images/gasp.mp4 differ diff --git a/Writerside/images/gaspthumbnail.png b/Writerside/images/gaspthumbnail.png new file mode 100644 index 0000000..6e961c8 Binary files /dev/null and b/Writerside/images/gaspthumbnail.png differ diff --git a/Writerside/images/headcrab_fail.gif b/Writerside/images/headcrab_fail.gif new file mode 100644 index 0000000..f9c1d0a Binary files /dev/null and b/Writerside/images/headcrab_fail.gif differ diff --git a/Writerside/images/icon16.png b/Writerside/images/icon16.png new file mode 100644 index 0000000..c4413a8 Binary files /dev/null and b/Writerside/images/icon16.png differ diff --git a/Writerside/images/icon300.png b/Writerside/images/icon300.png new file mode 100644 index 0000000..b21c2a3 Binary files /dev/null and b/Writerside/images/icon300.png differ diff --git a/Writerside/images/icon32.png b/Writerside/images/icon32.png new file mode 100644 index 0000000..396f4ad Binary files /dev/null and b/Writerside/images/icon32.png differ diff --git a/Writerside/images/icon500.png b/Writerside/images/icon500.png new file mode 100644 index 0000000..74c12e4 Binary files /dev/null and b/Writerside/images/icon500.png differ diff --git a/Writerside/images/icon96.png b/Writerside/images/icon96.png new file mode 100644 index 0000000..f4ecbc4 Binary files /dev/null and b/Writerside/images/icon96.png differ diff --git a/Writerside/images/logo.svg b/Writerside/images/logo.svg new file mode 100644 index 0000000..4668bf9 --- /dev/null +++ b/Writerside/images/logo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Writerside/images/memoryleak.mp4 b/Writerside/images/memoryleak.mp4 new file mode 100644 index 0000000..0baa43f Binary files /dev/null and b/Writerside/images/memoryleak.mp4 differ diff --git a/Writerside/images/memoryleakthumbnail.png b/Writerside/images/memoryleakthumbnail.png new file mode 100644 index 0000000..7f27d58 Binary files /dev/null and b/Writerside/images/memoryleakthumbnail.png differ diff --git a/Writerside/images/new_topic_options.png b/Writerside/images/new_topic_options.png new file mode 100644 index 0000000..bc6abb6 Binary files /dev/null and b/Writerside/images/new_topic_options.png differ diff --git a/Writerside/images/new_topic_options_dark.png b/Writerside/images/new_topic_options_dark.png new file mode 100644 index 0000000..bf3e48d Binary files /dev/null and b/Writerside/images/new_topic_options_dark.png differ diff --git a/Writerside/images/rtx.mp4 b/Writerside/images/rtx.mp4 new file mode 100644 index 0000000..b01f755 Binary files /dev/null and b/Writerside/images/rtx.mp4 differ diff --git a/Writerside/images/rtxthumbnail.png b/Writerside/images/rtxthumbnail.png new file mode 100644 index 0000000..680a4c2 Binary files /dev/null and b/Writerside/images/rtxthumbnail.png differ diff --git a/Writerside/images/setup_0.png b/Writerside/images/setup_0.png new file mode 100644 index 0000000..b1f6d93 Binary files /dev/null and b/Writerside/images/setup_0.png differ diff --git a/Writerside/images/setup_1.png b/Writerside/images/setup_1.png new file mode 100644 index 0000000..475bcfa Binary files /dev/null and b/Writerside/images/setup_1.png differ diff --git a/Writerside/images/setup_10.png b/Writerside/images/setup_10.png new file mode 100644 index 0000000..5e995d0 Binary files /dev/null and b/Writerside/images/setup_10.png differ diff --git a/Writerside/images/setup_11.png b/Writerside/images/setup_11.png new file mode 100644 index 0000000..ddcc495 Binary files /dev/null and b/Writerside/images/setup_11.png differ diff --git a/Writerside/images/setup_12.png b/Writerside/images/setup_12.png new file mode 100644 index 0000000..667f0b6 Binary files /dev/null and b/Writerside/images/setup_12.png differ diff --git a/Writerside/images/setup_13.png b/Writerside/images/setup_13.png new file mode 100644 index 0000000..d37dcee Binary files /dev/null and b/Writerside/images/setup_13.png differ diff --git a/Writerside/images/setup_14.png b/Writerside/images/setup_14.png new file mode 100644 index 0000000..8413ce3 Binary files /dev/null and b/Writerside/images/setup_14.png differ diff --git a/Writerside/images/setup_15.png b/Writerside/images/setup_15.png new file mode 100644 index 0000000..2f09d8c Binary files /dev/null and b/Writerside/images/setup_15.png differ diff --git a/Writerside/images/setup_16.png b/Writerside/images/setup_16.png new file mode 100644 index 0000000..9d2e4e5 Binary files /dev/null and b/Writerside/images/setup_16.png differ diff --git a/Writerside/images/setup_17.png b/Writerside/images/setup_17.png new file mode 100644 index 0000000..6d2ddb4 Binary files /dev/null and b/Writerside/images/setup_17.png differ diff --git a/Writerside/images/setup_18.png b/Writerside/images/setup_18.png new file mode 100644 index 0000000..9e1cbb9 Binary files /dev/null and b/Writerside/images/setup_18.png differ diff --git a/Writerside/images/setup_19.png b/Writerside/images/setup_19.png new file mode 100644 index 0000000..4480cad Binary files /dev/null and b/Writerside/images/setup_19.png differ diff --git a/Writerside/images/setup_2.png b/Writerside/images/setup_2.png new file mode 100644 index 0000000..4806d86 Binary files /dev/null and b/Writerside/images/setup_2.png differ diff --git a/Writerside/images/setup_20.png b/Writerside/images/setup_20.png new file mode 100644 index 0000000..e4fd533 Binary files /dev/null and b/Writerside/images/setup_20.png differ diff --git a/Writerside/images/setup_3.png b/Writerside/images/setup_3.png new file mode 100644 index 0000000..cfac90a Binary files /dev/null and b/Writerside/images/setup_3.png differ diff --git a/Writerside/images/setup_4.png b/Writerside/images/setup_4.png new file mode 100644 index 0000000..ca85729 Binary files /dev/null and b/Writerside/images/setup_4.png differ diff --git a/Writerside/images/setup_5.png b/Writerside/images/setup_5.png new file mode 100644 index 0000000..e58bb8e Binary files /dev/null and b/Writerside/images/setup_5.png differ diff --git a/Writerside/images/setup_6.png b/Writerside/images/setup_6.png new file mode 100644 index 0000000..93ac4fd Binary files /dev/null and b/Writerside/images/setup_6.png differ diff --git a/Writerside/images/setup_7.png b/Writerside/images/setup_7.png new file mode 100644 index 0000000..d859cc4 Binary files /dev/null and b/Writerside/images/setup_7.png differ diff --git a/Writerside/images/setup_8.png b/Writerside/images/setup_8.png new file mode 100644 index 0000000..e7e1ead Binary files /dev/null and b/Writerside/images/setup_8.png differ diff --git a/Writerside/images/setup_9.png b/Writerside/images/setup_9.png new file mode 100644 index 0000000..27ef7b0 Binary files /dev/null and b/Writerside/images/setup_9.png differ diff --git a/Writerside/images/token.png b/Writerside/images/token.png new file mode 100644 index 0000000..78a847e Binary files /dev/null and b/Writerside/images/token.png differ diff --git a/Writerside/images/whatareyoudoing.mp4 b/Writerside/images/whatareyoudoing.mp4 new file mode 100644 index 0000000..b35c237 Binary files /dev/null and b/Writerside/images/whatareyoudoing.mp4 differ diff --git a/Writerside/images/whatareyoudoingthumbnail.png b/Writerside/images/whatareyoudoingthumbnail.png new file mode 100644 index 0000000..09de020 Binary files /dev/null and b/Writerside/images/whatareyoudoingthumbnail.png differ diff --git a/Writerside/images/yiski_banner.png b/Writerside/images/yiski_banner.png new file mode 100644 index 0000000..f972d0b Binary files /dev/null and b/Writerside/images/yiski_banner.png differ diff --git a/Writerside/images/yiski_name_origin.png b/Writerside/images/yiski_name_origin.png new file mode 100644 index 0000000..b4966b1 Binary files /dev/null and b/Writerside/images/yiski_name_origin.png differ diff --git a/Writerside/redirection-rules.xml b/Writerside/redirection-rules.xml new file mode 100644 index 0000000..2f6e5b0 --- /dev/null +++ b/Writerside/redirection-rules.xml @@ -0,0 +1,21 @@ + + + + + + Created after removal of "Section Starting Page" from Yiski + Section-Starting-Page.html + + + Created after removal of "How to" from Yiski + How-to.html + + + Created after removal of "Reference" from Yiski + Reference.html + + \ No newline at end of file diff --git a/Writerside/topics/About-Configs.md b/Writerside/topics/About-Configs.md new file mode 100644 index 0000000..868257d --- /dev/null +++ b/Writerside/topics/About-Configs.md @@ -0,0 +1,23 @@ +# About Configs + +## Why are these configs needed? + +### Short Answer: + + +Each modules does different things and has different values, best to provide each module with its own file for its own values. + + +### Long answer: +Each seperate module has its own configuration file, due to how they work, it's best to not merge all the configurations all into one file. +Having a seperate configuration file for each module provides a bit of flexibility and avoids values from stepping on each other, and be configured for their exact use case. +All configuration files by default are TOML in this codebase, being powered by [KToml](https://github.com/orchestr7/ktoml). + +## Does each module require its own config? + +With how Yiski is designed, yes, however, a module can also opt out from having a config at all by having the module's developer not fill in the `configClass` line in their metadata. +It is however recommended that each module does have a config file that can be adjusted. + +## Does every value have to be filled in? + +If the value is not said to be optional by the module dev, then automatically assume that it is required. \ No newline at end of file diff --git a/Writerside/topics/Commands.topic b/Writerside/topics/Commands.topic new file mode 100644 index 0000000..ff8f78a --- /dev/null +++ b/Writerside/topics/Commands.topic @@ -0,0 +1,101 @@ + + + + + + Commands + + Look through all the modules and what commands they provide. + + + + + Yiski1 + Yiski3 + + + + + Get started + + + Custom card title + Custom card title + + + + + Explore advanced features + + + Custom card title + Custom card title + + + + + + Other relevant topics as wide cards + + + Custom card title + Custom card title + + + + Other relevant topics as narrow cards + + + + Custom card title + Custom card title + Custom card title + + + + + Other related topics as links + + + Custom card title + Custom card title + + + Two in a row + + + Custom card title + Custom card title + + + + + + More related topics + + + Custom card title + Custom card title + + + Three in a row + + + Custom card title + Custom card title + + + Each group is narrow + + + Custom card title + Custom card title + + + + + + \ No newline at end of file diff --git a/Writerside/topics/Configs.topic b/Writerside/topics/Configs.topic new file mode 100644 index 0000000..532ba9c --- /dev/null +++ b/Writerside/topics/Configs.topic @@ -0,0 +1,37 @@ + + + + + + Configuration + + Here is all the configuration files you need to run Yiski. Most are pretty simple to fill and some are just a copy n' paste. + + + + + About + Runner + + + + + Modules Configurations + Yiski1 + Yiski2 + Yiski4 + Yiski5 + Yiski6 + + + + + Copy n' Paste Module Configurations + Yiski3 + + + + \ No newline at end of file diff --git a/Writerside/topics/Modules-Configs.topic b/Writerside/topics/Modules-Configs.topic new file mode 100644 index 0000000..64f47fa --- /dev/null +++ b/Writerside/topics/Modules-Configs.topic @@ -0,0 +1,35 @@ + + + + + + Module Configs + + Modules with their respective configurations + + + + Mandatory Configs + Yiski1 + Yiski5 + + + + + Configs + Yiski2 + Yiski4 + Yiski6 + + + + + Copy n' Paste + Yiski3 + + + + \ No newline at end of file diff --git a/Writerside/topics/Runner-Config.md b/Writerside/topics/Runner-Config.md new file mode 100644 index 0000000..1f49bcd --- /dev/null +++ b/Writerside/topics/Runner-Config.md @@ -0,0 +1,73 @@ +# Runner + +Download and put it in the same folder as your Runner. + +config.toml +```Ini +[universal] +githubToken = "" + +[discord] +botToken = "" +adminIDs = [ 000000000000000000, 000000000000000000, 000000000000000000 ] # replace this with whoever you want to be able to use administrative commands w/ the bot +homeGuildID = 000000000000000000 # replace this with your discord server's ID +activityType = "LISTENING" # valid types are PLAYING, STREAMING, LISTENING, WATCHING, CUSTOM_STATUS and COMPETING +activityStatus = "" # status text after the type + +[database] +host = "localhost" +port = 5432 +username = "postgres" +password = "postgres" +db = "yiski" +``` + +## Universal +`githubToken` +: Your Personal Access Token from GitHub to be used with the `/gh` command. Generate a Fine-grained token [here](https://github.com/settings/tokens?type=beta) + - Please only use Fine-grained Tokens, with Repository access of `All Repositories`, and under Repository permissions, allow for read access of + - Commit statuses + - Contents + - Custom properties + - Issues + - Metadata + - Pull Requests + +## Discord +`botToken` +: Your Bot Token to allow the bot to sign into Discord + +`adminIDs` +: An array of User IDs to allow administrative action of the bot + +`homeGuildID` +: Your Server's ID to allow the commands to run on + +`activityType` +: Activity type for the bot's status +: Defaults to `LISTENING` + +`activityStatus` +: Text that goes after the type's prefix + +## Database +`host` +: Hostname/Host IP of the database +: Defaults to `localhost` + +`port` +: Port of the database +: Defaults to `5432` + +`username` +: Username to connect to the database +: Defaults to `postgres` + +`password` +: Password to connect to the database +: Defaults to `postgres` + +`db` +: Database name to connect to +: Defaults to `yiski` + diff --git a/Writerside/topics/Welcome.topic b/Writerside/topics/Welcome.topic new file mode 100644 index 0000000..1096ce6 --- /dev/null +++ b/Writerside/topics/Welcome.topic @@ -0,0 +1,36 @@ + + + + + + Welcome to the Yiski Documentation! + + Yiski is an in-house developed Discord bot by devOS: Sanity Edition, with its development being lead by asojidev. + + + + + Info + Commands + + + + + Get started + Self-hosting Yiski [NOT READY] + Configs + + + + + Want to create a Yiski module or contribute to Yiski's development? + Runner + Modules + Modules Loader + GitHub Repository + + + \ No newline at end of file diff --git a/Writerside/topics/Yiski-Bot-Setup.md b/Writerside/topics/Yiski-Bot-Setup.md new file mode 100644 index 0000000..ac3e648 --- /dev/null +++ b/Writerside/topics/Yiski-Bot-Setup.md @@ -0,0 +1,144 @@ +# Bot Setup + +Want to run Yiski on your own? Well, it's a little bit involved, but here's how to set it up. + +> This bot is not yet ready for self-hosting, other than for development purposes, so please shoo for now... please. We'll tell you when it's ready, pinkie promise. +{style="warning"} + +## Pre-requisites +Here's what you must have installed before tackling self-hosting this bot. +- A text editor that can handle TOML and YML files + - You can use JetBrains Fleet, Visual Studio Code, or even Notepad, but we don't recommend the last one solely because it doesn't have formatting. +- Docker + - Optionally, you may use Podman instead, but you **must** have the Compose plugin installed. +- A brain, the ability to read, and some patience + - This is pretty important, otherwise... how else are you going to get through this? + +## Setup + +[//]: # (This whole setup will be covered on both Linux and Windows.) + + +

If you already know how to setup a Discord bot, go ahead and skip this. Just be sure to give it full Administrator privileges, and the Presence, Server Members, and Message Content intent.

+
+ +#### Discord + + + +

Head over to the Discord Developer Portal.

+ +
+ +

Click on Applications on the top left.

+ +
+ +

Sign in to your Discord account if you haven't already.

+ +
+ +

You will be redirected to your Applications page after signing in.

+ +
+ +

Click on New Application on the top right.

+ +
+ +

In the Create an Application modal, fill out how you want it.

+ +
  • +

    We'll call it Yiski and put it under our Personal account here.

    +
  • +
    + + +
  • +

    It won't really matter if it's as a Team or Personal, unless you want other people managing your bot's application.

    +
  • +
  • +

    Make sure to agree to the Discord Developers Terms of Service and Developer Policy checkbox.

    +
  • +
    +
    + +

    You will be redirected to your Application's page. Here you will be able to manage your Application.

    + +
    + +

    Click on Bots on the sidebar

    + +
    + +

    You will now be at the Bots page, here you can setup your bot's profile, get the token, setup intents, and have a permissions calculator.

    + +
    + +

    Click on Reset Token

    + + Do not share this Token, ever! Only share it if you know what you're doing. None of the Yiski devs will ever ask for your Bot's Token. + +
  • +

    If prompted, type in your 2FA code to reset the bot token.

    +
  • +
    +
    + +

    You now have your bot token! Store it somewhere temporarily, maybe in a temporary Notepad window, we'll need this later. We'll be using this to have the bot login.

    +
    + +

    Scroll down a little, and enable Presence Intent, Server Members Intent, and Message Content Intent.

    + +
    + +

    Next, head over to the Installation page.

    + +
    + +

    You will now be at the Installations page. Here you can get your bot into your server [guild], or install as an app. We'll want to do a Guild Install.

    + +
    + +

    Scroll down until you find Guild Install under Default Install Settings. Click on the Dropdown and click on bot

    + +
    + +

    The Guild Install option will now expand. Click on Select for Permission and select Administrator.

    + +
    + +

    Click on Save Changes

    + +
    + +

    Scroll back up until you find Install Link. Make sure it's selected on Discord Provided Link. Click on Copy.

    + +
    + +

    Open a new tab, and paste the link you got, and go to it. Select on Add to Server

    + +
    + +

    On the External Applications screen, select what server you want to put this bot into under the Add to Server dropdown. Click Continue once you have your server selected.

    + +
    + +

    The prompt will now ask you to confirm if you want to add this bot with the permissions specified. Hit Authorize.

    + +
    + +

    Your bot will now be added to your server.

    + +
    +
    + + + Sarcasm ahead. + +

    Go to where you want to install your bot

    +
    + +

    Now go step on a LEGO because this bot isn't production ready enough yet to be self hosted. This will be updated when it's ready to.

    +
    +
    \ No newline at end of file diff --git a/Writerside/topics/Yiski.md b/Writerside/topics/Yiski.md new file mode 100644 index 0000000..1bb4567 --- /dev/null +++ b/Writerside/topics/Yiski.md @@ -0,0 +1,38 @@ +# What is Yiski? + +Yiski Logo + +Yiski is an in-house developed Discord bot by devOS: Sanity Edition, with its development being lead by [asojidev](https://github.com/asoji). + +There have been previous bots before this made by different people in the devOS community, but they have had their issues, and sometimes other solutions don't work out as well as we want them to. + +The main point in Yiski is to have an in-house developed bot that satisfies our needs and/or wants. This included a Vent Channel wiper [Yiski5], a decent-enough TTS solution [Yiski6], or even just small fun commands [Yiski3]. + +## How did the Yiski project come to be? + +Originally there was a few custom bots throughout devOS's origins, but one notable one was called `devOS Services`. Its primary purpose was Vent Channel Wiping and some Moderation commands. Let's just say things went downhill for a little, and increasingly got worse, so we eventually threw it out. + +Yiski4 was the first custom devOS bot that actually ran for a bit, but all it did was serve system status for asojidev's Raspberry Pi 4. Eventually Yiski itself came along but only really as a fun bot with quirky little commands that threw images, videos, and a bit more. +All of that was built on pycord, right around the time discordpy was discontinued for the time being. + +A few rewrites later, here comes this attempt, built to be an All-In-One bot, primarily Moderation, Fun, Vent Channel Wiping, TTS, and probably more. We hope this time around it'll work out, but who knows! + +## What is up with the numbers ahead of Yiski? and why the name? + +Those are different modules of Yiski, previously all seperate bots, but now merged into 1, sort of. How it all started was Yiski4, a bot originally meant to just monitor the system resources of asoji's Raspberry Pi 4. + +How the Yiski name came about is a combination of `Yikes` and `Pi 4`, for the original Yiski4 bot, which is not exactly great, but it worked for the time being. The name just stuck though, so we're forever left with Yiski. + +![yiski_name_origin.png](yiski_name_origin.png) + +Other than being seperate modules, the numbers have no actual real meaning, they're basically picked in random or whatever came after idea-wise at the time. + +## How is Yiski being tackled now? + +The bot is now split up in modules, with a Main Runner, a Common API [really just shared utilities], Metadata, and the modules themselves. The idea would be that each module serves their own purpose and tasks, like a mini-bot sort of thing, and it can all use a Common API, and all be run under 1 Runner process, with a Modules Loader to load all the modules under the runner. + +The entirety of the bot is run on top of [JDA](https://github.com/discord-jda/JDA), [JDA-KTX](https://github.com/minndevelopment/jda-ktx), and [CephalonCosmic](https://twitter.com/CephalonCosmic)'s [Aviation](https://gitlab.com/artrinix/discord/aviation) Framework. The Module Loader and Metadata Loader is developed by [Deftu](https://github.com/Deftu). All of Yiski's code can be found [here](https://github.com/devOS-Sanity-Edition/Yiski). + +## Is this a complete project? + +No, and to be honest, it probably never will be a fully complete project, but it can always improve and maybe one day hit a 1.0 release. It currently however is still unfinished and not fully production ready, since the modules are still being actively worked on, with no real stable API, so use the bot at your own discretion. diff --git a/Writerside/topics/Yiski1-Commands.md b/Writerside/topics/Yiski1-Commands.md new file mode 100644 index 0000000..1900e93 --- /dev/null +++ b/Writerside/topics/Yiski1-Commands.md @@ -0,0 +1,52 @@ +# Yiski1 + +# Basic + +`/about` +: About the bot. + +`/help` +: Lists all available commands. + +`/modules` +: Lists loaded Yiski modules. + +`/ping` +: Pong! + + +# Moderation + +`/infractions list ` +: Gets a list of all infractions for a member. + +`/infractions get ` +: Gets details about a specific infraction. + +`/infractions remove ` +: Remove a specific infraction. + +`/note ` +: Adds a note to a member. + +[//]: # (`/mute <>`) // not yet + +`/kick [note]` +: Kicks a member. + +`/ban [note]` +: Permanently bans a member. + +`/hackban [note]` +: Permanently bans a user using their ID, useful if you want to ban someone as a precaution or if they have already left the server. + +`/unban [note]` +: Unbans a user using their ID. + +## Utility + +`Pin Message` +: Create or own a Thread, right click on a message, and click **Pin message** to pin a message in a thread. + +`Unpin message` +: In a thread you own, right click on a message, and click **Unpin message** to unpin a message in a thread. \ No newline at end of file diff --git a/Writerside/topics/Yiski1-Config.md b/Writerside/topics/Yiski1-Config.md new file mode 100644 index 0000000..cbd989a --- /dev/null +++ b/Writerside/topics/Yiski1-Config.md @@ -0,0 +1,16 @@ +# Yiski1 + +Download and put it in the same folder as your Runner. + +> This config is unfinished as this module is still being worked on actively. +{style="warning"} + +yiski1.config.toml +```Ini +[moderation] +muteRoleID = 0000000000000000000 +``` + +## Moderation +`muteRoleID` +: Role ID for your server's respective Muted role \ No newline at end of file diff --git a/Writerside/topics/Yiski2-Commands.md b/Writerside/topics/Yiski2-Commands.md new file mode 100644 index 0000000..a833916 --- /dev/null +++ b/Writerside/topics/Yiski2-Commands.md @@ -0,0 +1,3 @@ +# Yiski2 + +Currently empty for now as work on Yiski2 has not started yet. \ No newline at end of file diff --git a/Writerside/topics/Yiski2-Config.md b/Writerside/topics/Yiski2-Config.md new file mode 100644 index 0000000..a833916 --- /dev/null +++ b/Writerside/topics/Yiski2-Config.md @@ -0,0 +1,3 @@ +# Yiski2 + +Currently empty for now as work on Yiski2 has not started yet. \ No newline at end of file diff --git a/Writerside/topics/Yiski3-Commands.md b/Writerside/topics/Yiski3-Commands.md new file mode 100644 index 0000000..e957f6b --- /dev/null +++ b/Writerside/topics/Yiski3-Commands.md @@ -0,0 +1,39 @@ +# Yiski3 + +## Silly + +`/headcrab ` +: Headcrab your friends and make em suffer! + +`/fakeban` +: Ban your friends! ...sorta. + +`/uwuify ` +: Uwuify your text and make em cursed + +## Images + +`/ims` +: GFY License moment +: ![ims](dreadfulims.png) + +`/token` +: Don't leak your Token! +: ![token](token.png) + +## Video + +`/antihorny` +: