🧭 A Discord bot to allow members to join servers with personal invites.
460
Pyxis is a versatile Discord bot designed to streamline member invitations and enhance server security. It allows your server members to create one-time-use invite links that they can only use. It's perfect for creating a secure private server, ban appeals, or games. Additionally, it provides powerful management tools to lock down your server in case of raids or other security concerns.
| Command | Description |
|---|---|
/join | Generates an invite link for the configured server. |
/purgeinvites | Deletes all server invites. |
/lockserver | Enables security actions. Disables server invites and DMs between members. |
/unlockserver | Disables security actions. |
/enablejoin | Enables members to join the TARGET_SERVER via the /join command. |
/disablejoin | Disables members from joining the TARGET_SERVER via the /join command. |
Now choose one of the following methods to run the bot!
git clone https://github.com/tibynx/pyxis.git
cd pyxis/
pip install -r requirements.txt
.env.example to .env and configure your settings.
.env file publicly!python main.py to start the bot.docker pull tibynx/pyxis:latest
/path/to/logs to a directory on your host where you want to store the logs.docker run -d \
--name=pyxis \
-e BOT_TOKEN="your_bot_token_here" \
-e SYNC_GUILD="your_server_id_here" \
-e TARGET_GUILD="your_server_id_here" \
-e TARGET_CHANNEL="your_channel_id_here" \
-e COMMAND_DESCRIPTION="Get an invite link to join the server" #optional \
-e INVITE_TIMEOUT="300" #optional \
-e ONLINE_MEMBER_INDICATOR="🟢" #optional \
-e TOTAL_MEMBER_INDICATOR="⚪" #optional \
-v /path/to/logs:/app/logs \
tibynx/pyxis:latest
| Variable | Description |
|---|---|
BOT_TOKEN | Your bot token. Do not share this with anyone! |
SYNC_GUILD | The ID of the server where the /join command will be available. |
TARGET_GUILD | The ID of the server where the invites will be created. |
TARGET_CHANNEL | The ID of the channel where the invites will be created. This has to be in the TARGET_GUILD. |
COMMAND_DESCRIPTION | (Optional) Custom description for the /join command. |
INVITE_TIMEOUT | (Optional) The time in seconds before the invites expire. (Default: 5 minutes) |
ONLINE_MEMBER_INDICATOR | (Optional) The emoji used to indicate online members in the invite message. |
TOTAL_MEMBER_INDICATOR | (Optional) The emoji used to indicate total members in the invite message. |
The emoji format can be either a Unicode emoji (e.g., 👥) or a custom emoji in the format <a:name:id> (e.g., <a:people:733395207222984794>). The bot must be in the server where the custom emoji is from or added to the bot on the Discord Developer Portal to use it.
Invite your bot to the servers using this premade link! It already contains the proper permissions. Replace YOUR_APP_ID with your bot's Application ID.
Make sure to invite the bot to both the SYNC_GUILD and TARGET_GUILD servers!
https://discord.com/oauth2/authorize?client_id=YOUR_APP_ID&permissions=35&integration_type=0&scope=bot+applications.commands
Tip
* You can restrict the `/join` command to specific roles or channels using the "Integrations" tab in your server settings!. * You can also change the description of the `/join` command using the `COMMAND_DESCRIPTION` variable.
Content type
Image
Digest
sha256:64f73656e…
Size
26.6 MB
Last updated
8 months ago
docker pull tibynx/pyxis