Skip to content

In this repository you will find the code for Mecha Karen! A bot written for discord using the discord.py API wrapper

License

Notifications You must be signed in to change notification settings

Seniatical/Mecha-Karen

Repository files navigation

Mecha Karen

Fun, Powerful and Unique

Features

  • Moderation - Simple but powerful!
  • Image Manipulation - Mecha Karen has unique commands, some apply effects and flip you over!
  • Logging - Mecha Karen can log everything that happens in your server.
  • Fast and Reliable - Mecha Karen heavily caches data to prevent constantly fetching from the DB, so you enjoy fast response times.
    - It can also report any unknown errors automatically for you!
    - Need some help with the bot? Join the welcoming and friendly support server!
  • Customisable - You can customise everything from the prefix, to restricting commands to a certain channel!
  • Expanding - Mecha Karen doesn't stop growing! Got a feature request? - DM one of our devs and it may be added.

🔗 Links

Dashboard
Bot Documentation - W.I.P
Support Server
Bot Invite

Running Karen

Running KAREN is not easy - Mainly due to missing modules and parts. Some modules have also been customised to suit karens running style - of which I do not include in this repo.
I will not make it easy for anybody - If you wish to run it, modify some areas of the bot and you should be good to go!
This repo is not meant to be directly copied as it contains pre-releases which are very unstable and are never used in production, The purpose of this repo is for testing and helping to improve the bot!

Basic Use of Running Karen

This area will show you the major steps of running Mecha-Karen on your machine. If you run into any errors which are related to the steps below, contact me on Discord so I can issue a fix for the issue.

If it due to the code - A majority of the causes are stated in the repo in relevant sections, so give them a read before asking for help.
I will not help or provide support for self hosting Karen.
If you are self hosting Karen - please make sure to follow the license.
This project has had a lot of time and effort invested into it, so I would appreciate it if credit was given.
If you wish to learn more about the license click here!

Env File

MONGO_DB_URI = "Your Mongo DB URI"
DISCORD_BOT_TOKEN = "Your Discord bot token"
RECONNECT = True
SERVER_IP = "the IP to run your websocket on"
SERVER_PORT = 8000
START_SERVER = True
IS_MAIN = True

ALT_TOKEN = "Optional feature to run an alt instead of your main acc - change IS_MAIN to false"
API_TOKEN = "API Token for the mecha karen API - https://api.mechakaren.xyz"
OPEN_WEATHER_API_KEY = "Your api key for open-weather"
PEXEL_API_TOKEN = "your api token for the pexel api"

LAVALINK_SERVER_IP = "Lavalink server ip"
LAVALINK_SERVER_PORT = Lavalink-server-port
LAVALINK_SERVER_PASSWORD = "Your password for the env"
LAVALINK_REGION = "your server region"
LAVALINK_NODETYPE = "default-node"

IPC_SECRET_KEY = "The key which will be used to authenticate requests from dashboard to bot"
IPC_HOST = "The host which the server will run off of"

REDDIT_USERNAME = ""
REDDIT_PASSWORD = ""
REDDIT_CLIENT_ID = ""
REDDIT_CLIENT_SECRET = ""

All the stuff here goes into your .env file. This file should be in the same directory as main.py.

Linux

$ git clone https://github.com/Seniatical/Mecha-Karen/
$ cd Mecha-Karen/Bot
$ touch .env
$ nano .env
... Env data goes here

$ python3 -m venv ./venv --system-site-packages
$ source ./venv/bin/activate

(venv) $ pip3 install -r requirements.txt
(venv) $ python3 main.py
(venv) $ deactivate

To exit out of the NANO GUI press Ctrl+X then press Y and then press ENTER

Windows

C:\> git clone https://github.com/Seniatical/Mecha-Karen/
C:\> cd Mecha-Karen/Bot
C:\> type nul > .env
... Next part cannot be in terminal for windows
... Go to your .env file and fill out the env data
... close the file and go to cmd again

C:\> python3 -m venv ./venv --system-site-packages
C:\> path/to/venv/Scripts/activate.bat
(venv) C:\> pip install -r requirements.txt
(venv) C:\> python main.py
(venv) C:\> deactivate

The type nul > .env is used to create an empty file for you.

Successful Launch Example

Mecha Karen is licensed and distributed under the APACHE 2.0 License - The copyright protects:

BOT
API
DOCUMENTATION
DASHBOARD

Any violations to the license will result in action being taken.

Self-Hosting Agreement

You must not use Mecha Karen's name, license, or logo in your works.
I have tried my best to not hard-code urls and names were I could, in newer regions.
You must follow the license as stated here.
You cannot provide offical support for errors related to the bot, but help for features within the bot is allowed.
You cannot publicly release your self-hosted bot if it contains more then 20% of Karens works and code.
You can have your self hosted bot in smaller servers WHICH you own or manage.
Provide full credits to both CONTRIBUTORS and the original creator
Include links, which can be found here

Modified Libs

A list of modified libraries which are made to suit karen running style. Note: These are not all the libraries!

TagScript: Click Here