# Gatekeeper
Welcome to the efforts of countless hours of learning and failed attempts at writing code that culminated into this project known as Gatekeeper! Originally this started out as a bot to bring CubeCoders AMP to Discord with support for only Minecraft, but has evolved into this encompasing project of providing support for any type of server AMP can run along with providing as many of AMPs core features inside of Discord.
Need Support or have questions? Please visit my Discord and post in the respective channels. Come Join my Discord - Neko Neko Cafe
A version of Python is installed on most Linux systems by default. It might not however include all the required packages.
pip
and venv
packages installed.For example, to install latest Python version available in the system repository, install:
`python3 python3-pip python3-venv`
Or for a specific version:
`python3.11 python3-pip python3.11-venv`
For RHEL or similar systems, consult your system documentation. An example might be:
`python39 python3-devel`
Installers can be downloaded from here.
pip
, and (under Advanced Options) the options to install Python for all users on the system and add it to the system’s environment variables. Follow instructions listed above for your respective operating system.
requirements.txt
and update numpy==1.25.1
-> numpy
and yarl==1.9.2
-> yarl
to no longer have version requirements.
Super Admins
role, must be done on the Global AMP Home Screen GUI.
http://X.X.X.X:8080
)tokenstemplate.py
file -> tokenstemplate.py
tokenstemplate.py
to tokens.py
before you start.start.py
(eg. ../Discord Bot/start.py
)
Super Admins
role, must be done on the Global AMP Home Screen GUI.
http://X.X.X.X:8080
)Configuration -> New Instance Defaults
)Configuration -> Bot Settings
, click Update
, then start the bot.$bot utils sync
inside the Discord server you invited to bot to.
reset
your command tree and re-sync
/bot utils sync
for details on how to reset your local command tree./bot moderator (role)
and the bot will add that role as the minimum required role to interact with the bot.
Discord -> Server Settings -> Roles
./server console channel (channel)
and the bot will begin sending AMP Console messages to that channel.
server.console.interact
or having Discord Admin and or Bot Moderator Role./server chat channel (channel)
and the bot will begin sending AMP Chat messages to that channel.
/server event channel (channel)
and the bot will begin sending AMP Event messages to that channel.
/whitelist request_channel (channel)
to set a channel for the bot to send Whitelist Request Approvals to.
Moderator
role or higher must approve the request./whitelist auto true
to allow the bot to handle whitelist requests.
Donators
to bypass the wait time after setting the /bot donator
role./whitelist wait_time (time)
to adjust the Bot's wait time after a whitelist request.
0
to allow the bot to instantly approve the users whitelist request..First, set all your servers settings/information. See Server Commands
Host
, Description
, DisplayName
, Prefix
and Whitelist
to name a few.Pick which style of Display you'd like. The Bot supports Discord Embeds or Custom Banner Images.
/bot banner_settings type (type)
and select the type of display you'd like.Custom Banner Images
you can customize the colors of the text via /server banner settings
See Banner How-to for usage and customization.
These are append to the command line when launching the bot. (eg. start.py -super
)
-token
- Bypasse tokens validation check. (Mandatory for AMP Template Installations/Operations)-command
- Enable slash command print statements for user traceback. -super
- This leaves AMP Super Admin role intact, use at your own risk. -dev
- Enable development print statments. (used for development)-debug
- Enables DEBUGGING level for logging. (used for development)-discord
- Disables Discord Intigration (used for testing)nano /etc/systemd/system/gatekeeper.service
[Unit]
Description= GateKeeperv2
After= network.service
[Service]
Type= simple
WorkingDirectory= # This points to the directory of Gatekeeperv2 files (eg. '/home/gatekeeper')
ExecStart= #This points to the python3 script. (eg. 'ExecStart=/usr/bin/python3.9 /home/gatekeeper/start.py')
Restart= always
RestartSec= 15
[Install]
WantedBy= multi-user.target
systemctl daemon-reload
systemctl enable gatekeeper.service
systemctl start gatekeeper.service
systemctl status gatekeeper.service
to see the status of the Gatekeeper Service!Thanks @LeviN
"Thank You" to everyone at CubeCoders Discord Server, especially IceofWrath, Mike, Greelan and everyone else in their discord.
"Thank You" to everyone over at Discord.py Discord Server, especially SolsticeShard and sgtlaggy for all the silly questions I kept asking about embed's and Hybrid messages!
Visit my Patreon