-
Notifications
You must be signed in to change notification settings - Fork 1
Getting Started
Watch the YouTube video for an even better step by step tutorial!
-
Create a new private GitHub repo
-
Add a
index.html
file with any content (just so the site can deploy) -
Head to https://app.netlify.com/ and Login or Create an account
-
Create your site via GitHub
-
Wait for site to deploy. You should have a link like "repositoryname.netlify.app"
-
Go to the Discord Developer Portal at https://discord.com/developers/applications and click on "New Application." Enter a name for your application and click "Create."
-
In your application's settings, navigate to the "Bot" tab and click on "Add Bot." Confirm the creation of the bot.
-
Under bot settings, click on the "Bot" section, and under Token click on "Copy" to copy your bot's token. This token is like a password and should be kept private.
-
Under the "OAuth2" tab, select the "bot" scope and Administrator permissions. Copy the generated invite link and paste it into your web browser.
-
Select a server to invite your bot to.
-
On the Discord authorization screen, authorize your bot to join the selected server by clicking "Authorize."
Users in your Discord server can validate their keys by running the command "/validate ACTIVATION-KEY LOGIN PASSWORD".
Any member of you discord server by default will be set to a 30 day cooldown in order to prevent any type of fraud. To change this cooldown you can edit the "'const remainingTime = Math.ceil((30 * 24 * 60 * 60 * 1000 - (Date.now() - lastUsage)) / (1000 * 60 * 60 * 24));" line in commands/validate.js
to a set amount of milliseconds.
As the owner, you can remove users cooldowns, add keys, and REMOVE accounts that are registered to a key
- /removecooldown USERID
- /remove ACCOUNT-NAME
- /keyadd KEY
-
Create a new folder & clone the repo
git clone https://github.com/tagoworks/akod
-
Open the new
akod
folder -
Download required modules by running the provided
GetReqs.bat
file -
Open the
config.json
file with notepad or another text editor, and input all the values- token: Your discord bot token
- ownerID: The owner's user ID (will be allowed to add custom keys, remove cooldowns, and delete validated accounts)
- guildID: The server ID which the bot will be in (for permission sets)
- onlySendIn: The channel ID's where the bot will be allowed to respond
- logChannel: The channel ID where the bot will send key activation logs
- GITUSERNAME: Your GitHub account username
- GITSTORAGEREPO: The repository where the accounts and active accounts/keys will be stored
- GITPAT: Your GitHub personal access token (PAT), which is used to push the new accounts to the webserver repository (give repo scopes)
- netlifyURL: Your netlify link (https://repository.netlify.app)
-
Open the
assets
directory and run theStartWatching.bat
file in order to generate youridentifiers.txt
file and clone the repo- These keys are backed up in your Document folder as they should not ever be regenerated, if you publish your projects and use this key and later on change it you will not be able to validate any keys.
- Head to your Netlify link (https://repository.netlify.app) in a couple of minutes and check if AKoD is reading and writing properly! You should see text reading "Your Auth Server Is Up!"
-
Input your custom keys in the
validkeys.txt
file- Remember to make a new line for each new activation key
-
Modify the blacklist.txt file to add any additional blocked usernames, like your username or other developers.
- Go to pythonanywhere.com and create a free account to host the auth api
- Create a new web app
- Select "Flask" web framework
- Select "Python 3.10"
- Rename the py file to something like "auth"
- Create the webapp
- Scroll down until you see "Source code", and click "Go to directory"
- Click on the 'auth.py' file you created
- Copy the contents of the the python file in the "flaskapi" folder, and paste it into the file for pythonanywhere
- Save the changes on the top right
- Reload your webapp
View the 'example.py' file to see how to set all the needed variables to your api and check for a valid login!
- Set and post your private and public key
private_key = "private key from identifiers.txt" publicserverkey = "public key from identifiers.txt" requests.post('http://yourusername.pythonanywhere.com/privatekey', data={'key': private_key}) requests.post('http://yourusername.pythonanywhere.com/publickey', data={'key': publicserverkey})
- Create a way to input activation key, username, and login
activationkey =input ("Enter activation key: ") username = input("Enter username: ") password = input("Enter password: ")
- Creata a post request to your API to check for the account credentials
requests.post('http://yourusername.pythonanywhere.com/setactivationkey', data={'key': activationkey}) response = requests.post('http://yourusername.pythonanywhere.com/validate', data={'username': username, 'password': password})
- If the response is "VALID", start your code!
if response.text == "VALID": print("Hello, World!")
- Obfuscate your code (optional) In order to hide your private key and licensing website link, I recommend you obfuscate your code with a python obfuscator. Hyperion is very advanced. Additionally, if you create an executable from your python code it will be difficult to decompile.
If your still having issues join the discord server!