GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - allthingslinux/gitcord: A Discord bot for Managing your discord's channel and role structure and roles via Git - GitOps

This repository was archived by the owner on May 14, 2026. It is now read-only.
BranchesTags
Open more actions menu
 
 

Latest commit

 

History

136 Commits
136 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
branding
branding
 
 
docs
docs
 
 
src
src
 
 
.env.example
.env.example
 
 
.gitignore
.gitignore
 
 
.python-version
.python-version
 
 
BOT_SETUP.md
BOT_SETUP.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
pyproject.toml
pyproject.toml
 
 
setup_env.py
setup_env.py
 
 
uv.lock
uv.lock
 
 

Repository files navigation

GitCord

A Discord bot for GitOps-based Discord server management. Manage your server's channels and categories using YAML templates, version control, and GitHub integration.

Documentation License: GPL v3


šŸš€ Getting Started

Option 1: Use Pre-Hosted Bot (Recommended)

The easiest way to get started is to invite the pre-hosted GitCord bot to your Discord server:

šŸ“„ Invite GitCord Bot

After inviting the bot, you can start using commands immediately. See the Quick Start Guide for usage examples.

Option 2: Self-Host (Advanced Users)

If you prefer to run your own instance of GitCord:

  1. Clone the repository:
    git clone https://github.com/evolvewithevan/gitcord.git
    cd gitcord
  2. Install dependencies (requires Python 3.9+ and uv)
    uv sync
  3. Set up environment variables:
    cp .env.example .env
    # Edit .env and add your Discord bot token
  4. Run the bot:
    python -m gitcord

For detailed self-hosting setup, see the Installation Guide.


šŸ“ What is GitCord?

GitCord is a Discord bot that lets you manage your server's structure using YAML configuration files, stored in Git and optionally synced with GitHub. It enables:

  • Version-controlled server configuration
  • Automated and manual sync of categories/channels
  • Bulk creation of channels/categories from templates
  • Easy server setup and reproducibility

✨ Features

  • Template-based Channel & Category Creation: Use YAML files to define your server structure
  • Manual & Planned Automatic Sync: Pull changes from a GitHub repo or local files
  • Slash & Prefix Commands: Use /createcategory, /createchannel, !createcategory, etc.
  • Permission Management: Follows Discord's permission system
  • Extensible: Modular cog system for easy extension
  • Open Source: GPL-3.0 License

See the full feature list.


šŸ› ļø Example Usage

  • Create a channel from YAML:

    # general.yaml
    name: general
    type: text
    topic: General discussion
    position: 0
    nsfw: false

    Use: !createchannel

  • Create a category with channels:

    # community.yaml
    name: Community
    type: category
    position: 0
    channels:
      - general
      - memes
      - off-topic

    Use: !createcategory or /createcategory

See Quick Start and Templates Guide.


🧩 Main Commands

  • !hello / /hello — Greet the bot
  • !ping / /slashping — Check bot latency
  • !createchannel — Create a channel from YAML
  • !createcategory / /createcategory [yaml_path] — Create a category with channels
  • !fetchurl <url> / /fetchurl <url> — Fetch text from a website (admin)
  • !synccommands / /synccommands — Update slash commands (admin)
  • !help / /help — Show help and links

See Commands Reference.


šŸ“ Project Structure

gitcord/
ā”œā”€ā”€ src/gitcord/           # Main source code
│   ā”œā”€ā”€ bot.py            # Main bot entry point
│   ā”œā”€ā”€ config.py         # Configuration management
│   ā”œā”€ā”€ events.py         # Discord event handlers
│   ā”œā”€ā”€ cogs/             # Discord.py cogs (command modules)
│   ā”œā”€ā”€ utils/            # Utility functions
│   ā”œā”€ā”€ views/            # Discord UI components
│   └── constants/        # Constants and messages
ā”œā”€ā”€ gitcord-template/     # Example template repository
ā”œā”€ā”€ docs/                 # Documentation (mdBook)
ā”œā”€ā”€ requirements.txt      # Python dependencies
ā”œā”€ā”€ pyproject.toml        # Project metadata
└── README.md             # Project documentation

šŸ“ˆ Project Status & Roadmap

  • Alpha: Core features implemented, active development
  • See the Roadmap for planned features and progress
  • Planned Features:
    • Webhook-based automatic sync
    • Advanced template features (inheritance, variables)
    • More admin tools

šŸ¤ Contributing

We welcome contributions! Please read CONTRIBUTING.md for:

  • Coding standards (PEP8, type hints, docstrings)
  • How to set up your dev environment
  • Testing and documentation guidelines
  • Pull request process

šŸ†˜ Support & Troubleshooting

  • Common Issues
  • Error Messages
  • GitHub Issues
  • Discussions

šŸ“œ License

This project is licensed under the GNU General Public License v3.0. See LICENSE.


Made with ā¤ļø by the GitCord Team. Full Documentation

About

A Discord bot for Managing your discord's channel and role structure and roles via Git - GitOps

Topics

discord-botgitopspython

Resources

Readme
GPL-3.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

17 stars

Watchers

1 watching

Forks

0 forks
Report repository

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Ɨ600. No cookies required.