Bios-Marcel / cordless

The Discord terminal client you never knew you wanted.
BSD 3-Clause "New" or "Revised" License
1.65k stars 140 forks source link

Administration commands for the command system #155

Open intexisty opened 4 years ago

intexisty commented 4 years ago

What do you want

I really like how cordless has its command system setup, it just lacks some features. Adding administrative commands to cordless' command system would make Cordless an actual alternative to the native discord client for server administrators.

Why

The addition of administration on cordless would expand the user base of cordless and make cordless a viable alternative to discord's native client.

Implementation hints

I would personally like to have an 'Administration' category added to the command system. I've thought of a couple of "simple" commands

Command argument Replacement character
User Mention {mention}
Role Name {rolename}
Role Color {rolecolor}
Text Channel Mention {channelmention}
Voice Channel {voicechannel}
Channel {channel}
Text argument {text}
Time argument {Xd}
User Id {id}

Every admin command would start off with admin by default, should assume the current guild selected, and obey role hierarchy.

Nicknames

Channels

Roles

Misc

Bios-Marcel commented 4 years ago

I have already started implementing certain defaults regarding the commands. There is already a commangrouping. However, the grouping is done via parent commands that refer to children. For example server join actually calls server join and so on ...

Therefore I am against a parent command for all parent commands as of now, as it's quite verbose and doesn't seem to provide much value. However, we could add a manpage called admin-commands, server administration or whatever.

Looking at nick-set for example, it isn't really an admin command, as users with permissions can use it on themselves.

I am also not quite sure whether I want commands that take empty arguments such as admin kick, where the message is optional. I'd rather have kick -m "message" username_here.

Sorry for typos, I suck at typing on phone