Installation & Setup
This section will guide you through setting up the Meanings bot on your own Discord server.
Invite Link
To use the bot, you’ll first need to create it on the Discord Developer Portal and generate an invite link.
Creating a Bot on Discord Developer Portal
- Go to the Discord Developer Portal
- Click on "New Application".
- Enter your bot's name (e.g.,
Meanings
) and click Create. - Navigate to the Bot tab and click "Add Bot".
- Enable the Privileged Gateway Intents your bot needs (such as
MESSAGE CONTENT INTENT
).
Getting Your Bot Token
- In the Bot tab, click "Reset Token" to get your bot’s token.
- Copy and save it somewhere safe — never share this token publicly.
WARNING
If your token is leaked, reset it immediately from the Developer Portal.
Invite Link & Required Permissions
- Go to the OAuth2 > URL Generator section.
- Under Scopes, select:
bot
- (Optional)
applications.commands
— if you want to implement slash commands in bot.py and use it instead of default prefix based commands.
- Under Bot Permissions, select:
Send Messages
Read Message History
Manage Messages
(if moderation features are used)- Any other permissions required for your specific setup.
- Copy the generated URL and paste it into your browser to invite the bot to your server.
Setup & Configuration of The Bot
This section walks you through configuring and launching your Discord bot. You’ll establish the runtime environment, install dependencies, and initialize the bot with your credentials.
What You'll Accomplish
- Environment Setup
Install Python 3.12+ and a dependency manager.
- Configuration
Set up environment variables and your Discord bot token.
- Dependency Installation
Install required packages with Poetry (recommended) or pip.
- Bot Initialization
Launch your bot instance.
📋 Prerequisite Checklist
- [ ] Python 3.12+ (
python --version
) - [ ] Poetry (install guide) or pip
- [ ] Discord Bot Token from the Developer Portal
- [ ] Git installed (download here)
- [ ] UserID for adding in whiteliste Section
- [ ] Curl 8.15.x installed (download here)
Requirements
- Python 3.12+
- Poetry 2.x
- Discord bot token (
.env
file) - UserID For adding in whitelisted section for admin Commands.
- Curl 8.15.x
🚀 Getting Started
- Clone the repo:
git clone https://github.com/xFanexx/meanings.git
Install Poetry (if not installed)
- From offical site:
- Linux, macOS, Windows (WSL)
curl -sSL https://install.python-poetry.org | python3 -
- Windows (Powershell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
NOTE
If you have installed Python through the Microsoft Store, replace py
with python
in the command above.
Check their offical Documentation for more information. Python-Poerty
- With PIP:
pip install poetry
IMPORTANT
When you are installing Poetry via pip
, always check if Rust is installed in your system because one of its dependencies (maturin
) needs Rust to build and top of that do not forget to update pip
or its prebuilt wheels. So, you don't get any errors.
Install dependencies
poetry install
NOTE
This installs all dependencies listed in pyproject.toml
inside a virtual environment.
Since this project is a Discord bot (not a distributed Python package), we set:
[tool.poetry]
package-mode = false
This ensures that poetry install
only installs dependencies and does not fail with a “No file/folder found for package” error.
For Non-Poetry Users
If you don’t have Poetry installed, you can still run this project using only pip
and requirements.txt
.
Installation
pip install --no-deps -r requirements.txt
IMPORTANT
When using requirements.txt
exported from Poetry, the --no-deps
flag is required.
This is because the exported file already includes all direct and transitive dependencies with exact versions or resolved hashes. Running pip without --no-deps
may cause it to try re-resolving dependencies, which can lead to conflicts or errors—especially for Git-based dependencies.
Environment Variables
Create a .env
file in the project root:
DISCORD_TOKEN=your_discord_token_here
WARNING
Do not commit .env
to version control.
After this also copy your UserID to past in bot.py
:
# Whitelisted user IDs who can add meanings
WHITELISTED_USERS = [ADD_USER_ID_HERE] # Add more user IDs here
Updating Dependencies (PIP)
- Upgrade a single dependency:
pip install --upgrade <package-name>
Example:
pip install --upgrade discord.py
Then regenerate requirements.txt
:
Create a virtual environment:
- Linux / MacOS
python3 -m venv venv
- Windows (Powershell and CMD)
python -m venv venv
This creates a folder called venv in your project.
Activate the virtual environment:
- Linux / MacOS
source venv/bin/activate
Replace venv
with the name of your virtual environment folder.
- Windows (Powershell and CMD)
# Powershell
.\venv\Scripts\Activate.ps1
# CMD
venv\Scripts\activate.bat
NOTE
If you encounter a "cannot be loaded because running scripts is disabled" error, you may need to run Set-ExecutionPolicy RemoteSigned -Scope Process
in your PowerShell window to temporarily allow script execution.
Then regenerate the .txt
:
pip freeze > requirements.txt
After that deactivate it:
# Linux, MacOS and Windows
deactivate
- Upgrade all dependencies:
pip install --upgrade -r requirements.txt
WARNING
This respects the pinned versions in requirements.txt
. If you want latest versions, remove version numbers from the file before running.
Regenerate requirements.txt
After any upgrade activate the virtual environment and update it:
pip freeze > requirements.txt
TIP
Using pyproject.toml
with Poetry is recommended for consistent, reproducible environments — but requirements.txt
works for quick installs and deployment.
Updating Dependencies
- To update a single dependency:
poetry update discord-py
- To update all dependencies:
poetry update
- Regenerate requirements.txt after updates:
source $(poetry env info --path)/bin/activate
pip freeze > requirements.txt
deactivate
Launching the Bot
After completing all the steps mentioned above, you can run the bot as follows:
If you are using Poetry run:
poetry run python bot.py
This ensures the bot runs inside the Poetry-managed virtual environment.
If you are not using Poetry (pip users) simply run:
python bot.py
This works if you have installed all required dependencies with pip.
If you are intrested in Contributing to this project, please kindly refer to Contribution.