Skip to content

Commit e1213b6

Browse files
committed
rename the tool
1 parent 1b8cb94 commit e1213b6

File tree

20 files changed

+60
-57
lines changed

20 files changed

+60
-57
lines changed

README.md

Lines changed: 38 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,20 @@
1-
# Zuffer CLI
1+
# cordctl
22

33
**A CLI utility to automate and simplify Discord server management tasks.**
44

55
---
66

7-
Zuffer is currently under active development. While many core features are functional, it's not yet complete. Expect rough edges, potential bugs, and changes as development progresses.
7+
cordctl is currently under active development. While many core features are functional, it's not yet complete. Expect rough edges, potential bugs, and changes as development progresses.
88

9-
**Upcoming Features:**
10-
* More robust error handling and user feedback.
11-
* Expansion of automated tests.
12-
13-
---
149

1510
## Prerequisites
1611

17-
Before installing Zuffer CLI, please ensure you have the following system dependencies:
12+
Before installing cordctl CLI, please ensure you have the following system dependencies:
1813

1914
* **Python:** Version 3.8 or higher.
2015
* **pip:** Python package installer (usually comes with Python).
2116
* **FFmpeg (for music features):**
22-
* Zuffer's music bot functionality requires FFmpeg to be installed and accessible in your system's PATH.
17+
* cordctl's music bot functionality requires FFmpeg to be installed and accessible in your system's PATH.
2318
* **Linux (Debian/Ubuntu):** `sudo apt update && sudo apt install ffmpeg`
2419
* **Linux (Fedora):** `sudo dnf install ffmpeg`
2520
* **macOS (Homebrew):** `brew install ffmpeg`
@@ -49,29 +44,27 @@ Before installing Zuffer CLI, please ensure you have the following system depend
4944

5045
## About
5146

52-
Zuffer helps Discord server administrators and moderators streamline common tasks through a command-line interface and interactive GUIs.
47+
cordctl helps Discord server administrators and moderators streamline common tasks through a command-line interface and interactive GUIs.
5348

5449
---
5550

5651
## Features
5752

58-
* **Secure Credential Management:** Stores Discord Bot Token and Client ID using your system's native keyring.
5953
* **Bulk Channel Creation:**
6054
* Create multiple public text or voice channels with sequential naming.
61-
* Create private channels automatically linked to new roles, with options to grant access to existing roles.
62-
* **Interactive Embed Builder GUI:** Visually construct and send rich embed messages. Supports exporting/importing designs as JSON.
55+
* Create private channels with linked roles and configurable access permissions.
56+
* **Embed Builder GUI:** construct embed messages with export/import functionality.
6357
* **Customizable Welcomer Bot & GUI:**
64-
* Design unique welcome images with an intuitive GUI: custom dimensions, backgrounds (color/image), draggable avatar, and multiple draggable text elements with placeholders and font customization.
65-
* Run a bot to automatically send personalized welcome images.
66-
* Test setup by simulating a member join.
67-
* Save/load configurations as JSON.
58+
* Design welcome images through tkinter GUI with backgrounds, avatar and text elements.
59+
* Run bot for automatic personalized welcome images.
60+
* Test with join simulation.
61+
* Save/load JSON configurations.
6862
* **Role Management Bot:**
69-
* Allows users to claim/unclaim roles via slash commands (`/claim`, `/unclaim`).
70-
* Option to enforce unique roles per user (one non-`@everyone` role at a time).
63+
* User-facing slash commands for role management (`/claim`, `/unclaim`).
64+
* Optional unique role assignment.
7165
* **Basic Music Bot:**
72-
* Play `.mp3` files from a local directory on loop in a voice channel.
73-
* **Guild Information:** List Discord guilds your bot is a member of.
74-
* **Cached Data:** Caches guild information locally for faster operations.
66+
* Loop local MP3 files in voice channels.
67+
* **Guild Information:** List Discord guilds your bot can access.
7568

7669
---
7770

@@ -81,8 +74,8 @@ Zuffer helps Discord server administrators and moderators streamline common task
8174

8275
2. **Clone the repository:**
8376
```bash
84-
git clone https://github.com/muzaffarmhd/zuffer-cli.git
85-
cd zuffer-cli
77+
git clone https://github.com/muzaffarmhd/cordctl.git
78+
cd cordctl
8679
```
8780

8881
3. **Set up a Virtual Environment (Recommended):**
@@ -103,28 +96,28 @@ Zuffer helps Discord server administrators and moderators streamline common task
10396
## Getting Started
10497

10598
1. **Login:**
106-
Configure Zuffer with your Discord bot's credentials:
99+
Configure cordctl with your Discord bot's credentials:
107100
```bash
108-
zuffer login
101+
cordctl login
109102
```
110103
You'll be prompted for your Bot Token and Client ID.
111104

112105
2. **Refresh Guild Cache:**
113106
After login, or if your bot's server membership changes, refresh the local guild cache:
114107
```bash
115-
zuffer refresh
108+
cordctl refresh
116109
```
117110
118111
3. **Explore Commands:**
119112
See all commands:
120113
```bash
121-
zuffer --help
114+
cordctl --help
122115
```
123116
Help for a specific command:
124117
```bash
125-
zuffer <command> --help
118+
cordctl <command> --help
126119
# Example
127-
zuffer welcome run --help
120+
cordctl welcome run --help
128121
```
129122
130123
---
@@ -133,51 +126,51 @@ Zuffer helps Discord server administrators and moderators streamline common task
133126
134127
### Core
135128
136-
* **`zuffer login`**
129+
* **`cordctl login`**
137130
* Description: Securely stores your Discord Bot Token and Client ID.
138-
* **`zuffer reset`**
131+
* **`cordctl reset`**
139132
* Description: Removes stored Discord Bot Token and Client ID.
140-
* **`zuffer refresh`**
133+
* **`cordctl refresh`**
141134
* Description: Updates the local cache of guilds your bot is in.
142-
* **`zuffer list`**
143-
* Description: Lists guilds the authenticated bot is a member of. (Requires `zuffer refresh` first).
135+
* **`cordctl list`**
136+
* Description: Lists guilds the authenticated bot is a member of. (Requires `cordctl refresh` first).
144137
145138
### Channel Management
146139
147-
* **`zuffer create-channels`**
140+
* **`cordctl create-channels`**
148141
* Description: Creates multiple public text or voice channels.
149142
* Options: `-t, --type [voice|text]`, `--name TEXT`, `--start INTEGER`, `--end INTEGER`.
150-
* Usage: `zuffer create-channels -t voice --name game-room --start 1 --end 5`
143+
* Usage: `cordctl create-channels -t voice --name game-room --start 1 --end 5`
151144
152-
* **`zuffer create-private`**
145+
* **`cordctl create-private`**
153146
* Description: Creates private text/voice channels with corresponding roles.
154147
* Options: `-t, --type [voice|text]`, `--name TEXT`, `--start INTEGER`, `--end INTEGER`, `--exclude TEXT` (comma-separated existing role names for access).
155-
* Usage: `zuffer create-private -t text --name project-zeta --start 1 --end 3 --exclude "Coordinator"`
148+
* Usage: `cordctl create-private -t text --name project-zeta --start 1 --end 3 --exclude "Coordinator"`
156149
157150
### Embed Messages
158151
159-
* **`zuffer embed`**
152+
* **`cordctl embed`**
160153
* Description: Opens a GUI to build and send a Discord embed message. Prompts for Channel ID.
161154
* **GUI Features:** Content, title, URL, description, color, author, image, thumbnail, footer, fields, timestamp. Supports JSON export/import.
162155
163156
### Welcomer Bot
164157
165-
* **`zuffer welcome config`**
158+
* **`cordctl welcome config`**
166159
* Description: Opens a GUI to design the welcome image.
167160
* **GUI Features:** Canvas preview, dimensions, background (color/image), avatar (visibility, size, position), multiple draggable text elements (content with `{username}`, font, size, color). Supports JSON save/load.
168161
* **Custom Backgrounds:** Copied to `assets/` relative to the saved config JSON.
169162
* **Custom Fonts:** Place `.ttf` files in `assets/fonts/` relative to the saved config JSON.
170163
171-
* **`zuffer welcome run`**
164+
* **`cordctl welcome run`**
172165
* Description: Runs the Welcomer Bot to greet new members.
173166
* Options:
174167
* `-c, --config FILEPATH`: (Required) Path to the welcome image configuration JSON.
175168
* `--simulate-join / --no-simulate-join`: (Optional) Simulate a member join for testing.
176-
* Usage: `zuffer welcome run -c /path/to/config.json --simulate-join`
169+
* Usage: `cordctl welcome run -c /path/to/config.json --simulate-join`
177170
178171
### Role Management
179172
180-
* **`zuffer handle-roles`**
173+
* **`cordctl handle-roles`**
181174
* Description: Runs a bot that allows users to claim/unclaim roles using slash commands.
182175
* Options:
183176
* `--private`: If set, a user can only have one role (other than `@everyone`) managed by this system at a time.
@@ -187,7 +180,7 @@ Zuffer helps Discord server administrators and moderators streamline common task
187180
188181
### Music Bot
189182
190-
* **`zuffer play-music <playlist_directory>`**
183+
* **`cordctl play-music <playlist_directory>`**
191184
* Description: Runs a basic music bot that joins the voice channel of the user who types `!join` and plays `.mp3` files from the specified `<playlist_directory>` on loop.
192185
* **Bot Commands (in Discord chat):**
193186
* `!join`: Bot joins your current voice channel and starts playing music.

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ requires = ["setuptools>=61.0.0"]
33
build-backend = "setuptools.build_meta"
44

55
[project]
6-
name = "zuffer"
6+
name = "cordctl"
77
version = "0.0.2"
88
authors = [
99
{ name="Md Muzaffar", email="[email protected]" },
@@ -30,4 +30,4 @@ dependencies = [
3030
]
3131

3232
[project.scripts]
33-
zuffer = "zuffer.cli:main"
33+
cordctl = "cordctl.cli:main"
File renamed without changes.

src/zuffer/cli.py renamed to src/cordctl/cli.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
from .commands import welcome, list, play_music, handle_roles
66

77
@click.group(invoke_without_command=True)
8-
@click.version_option(package_name="zuffer")
8+
@click.version_option(package_name="cordctl")
99
@click.pass_context
1010
def main(ctx: click.Context):
11-
"""Zuffer CLI - Discord Server Management Tool"""
11+
"""cordctl CLI - Discord Server Management Tool"""
1212
if ctx.invoked_subcommand is None:
1313
click.echo(ctx.get_help())
1414
ctx.exit(0)
File renamed without changes.
File renamed without changes.

src/zuffer/commands/embed.py renamed to src/cordctl/commands/embed.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import json
77
import datetime
88
from ..core import auth, discord_api
9-
from zuffer.gui.embed_gui import EmbedBuilder
9+
from cordctl.gui.embed_gui import EmbedBuilder
1010

1111
def build_embed_gui(callback):
1212
app = EmbedBuilder(callback)
File renamed without changes.

src/zuffer/commands/list.py renamed to src/cordctl/commands/list.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ def list_command():
1212
for guild, id in guilds:
1313
print(f"{guild}")
1414
else:
15-
click.echo("Please run command:`zuffer refresh` to refresh the bot!")
15+
click.echo("Please run command:`cordctl refresh` to refresh the bot!")

src/zuffer/commands/login.py renamed to src/cordctl/commands/login.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def reset():
2626
click.echo("You are not logged in. Nothing to reset!")
2727
return
2828
if auth.delete():
29-
click.echo("Token has been successfully reset. You can now use `zuffer login` again!")
29+
click.echo("Token has been successfully reset. You can now use `cordctl login` again!")
3030
else:
3131
click.echo("An error occured!")
3232
else:

0 commit comments

Comments
 (0)