Skip to content
This repository was archived by the owner on Sep 20, 2025. It is now read-only.

Chandramauli-Arm64/meanings

Repository files navigation

🤖 Meanings Bot

License Last Commit Top Language Repo Size Code Size Commit Activity

A sleek Discord bot to manage and explore slang meanings, built with Python. Offers public commands for all and admin tools for whitelisted users. Runs on Linux with systemd support!

✨ Features

  • Public Commands: ?meaning, ?list, ?stats, ?ping
  • Admin Commands: ?addmeaning, ?deletemeaning, ?yes, ?no (whitelisted only)
  • DND Status: Watches servers with a "Do Not Disturb" flair
  • Scalable: Handles multiple servers effortlessly
  • Commands Check this for all commands
  • Async file handling with aiofiles
  • Fully Poetry-managed project with isolated dependencies

Requirements

  • Python 3.12+
  • Poetry 2.x
  • Discord bot token (.env file)
  • Curl 8.15.x
  • Git

🚀 Getting Started

  1. Clone the repo:
    git clone https://github.com/xFanexx/meanings.git

Install Poetry (if not installed)

  1. 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

  1. 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

Warning

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.

Updating Dependencies (PIP)

  1. 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
  1. 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.

Environment Variables

Create a .env file in the project root:

DISCORD_TOKEN=your_discord_token_here

Important

Do not commit .env to version control.

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

Contributing

  • Fork the Repo.

  • Make sure .env and .venv/ are ignored in Git (.gitignore is included).

  • Commit pyproject.toml and poetry.lock to track dependencies.

  • PR should be clean, concise and descriptive.

  • Use Poetry for adding new packages in your project:

poetry add <package-name>      # normal dependency
poetry add --dev <package-name> # dev dependency

Warning

THIS MIGHT BE PRODUCTION READY, BUT YOU MIGHT CONSIDER RE-WRITING THE CODE AND SWITCHING TO A SQLITE OR POSTGRESQL DB.

Note

THIS IS A PURE HOBBY BOT INTENDED TO HAVE SOME FUN IN DISCORD CHANNELS.

👥 Contributors

Sacul0457
Sacul0457
xFanexx
xFanexx
Chandramauli
Chandramauli

Alt

About

A Discord bot to manage and share slang meanings, featuring public commands.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages