A Discord permission name resolver for Pycord
Project description
alianator
alianator is a Discord permission name resolver for Pycord.
It takes Discord's API permission flags (e.g. manage_guild
) and resolves them to their user-facing aliases (e.g. Manage Server
).
Installation
$ pip install alianator
Pycord is not included as a dependency of alianator, but nonetheless must
be installed for it to work. If alianator is unable to import the discord
namespace, it will raise an ImportError
.
Usage
alianator can resolve aliases from discord.Permissions
objects, integers, strings, tuples, lists of strings, and lists
of tuples.
import alianator
alianator.resolve(arg, mode=mode)
The optional mode
flag can be used to specify which permissions should be resolved. If mode
is True
, only granted
permissions will be resolved; if mode
is False
, only denied permissions will be resolved; if mode
is None
, all
permissions will be resolved. If mode
is not explicitly specified, it will default to True
.
import alianator
import discord
# Resolving from a discord.Permissions object
perms = discord.Permissions.general()
aliases = alianator.resolve(perms)
print(aliases)
# ['Manage Channels', 'Manage Server', 'View Audit Log', 'Read Messages', 'View Server Insights', 'Manage Roles', 'Manage Webhooks', 'Manage Emojis and Stickers']
# Resolving from an integer
perms = 3072
aliases = alianator.resolve(perms)
print(aliases)
# ['View Channel', 'Send Messages and Create Posts']
# Resolving from a string
perms = "send_tts_messages"
aliases = alianator.resolve(perms)
print(aliases)
# ['Send Text-To-Speech Messages']
# Resolving from a tuple
perms = ("moderate_members", True)
aliases = alianator.resolve(perms)
print(aliases)
# ['Timeout Members']
# Resolving from a list of strings
perms = ["manage_guild", "manage_emojis"]
aliases = alianator.resolve(perms)
print(aliases)
# ['Manage Server', 'Manage Emojis and Stickers']
# Resolving from a list of tuples
perms = [("use_slash_commands", True), ("use_voice_activation", True)]
aliases = alianator.resolve(perms)
print(aliases)
# ['Use Application Commands', 'Use Voice Activity']
That's about all there is to it. alianator does one thing and does it well.
License
alianator is released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file alianator-4.0.0.tar.gz
.
File metadata
- Download URL: alianator-4.0.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/5.15.0-1033-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22500d567d208e4b7c56bce0420808b207ed7d394a54d27888885b4ef5cc3356 |
|
MD5 | 7ff17dcbff82dfe55b831ed25cc3f91c |
|
BLAKE2b-256 | 173b63f0f82774f7629f65798c025f2d5b359d34018562479a02f1a4e59ae721 |
File details
Details for the file alianator-4.0.0-py3-none-any.whl
.
File metadata
- Download URL: alianator-4.0.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/5.15.0-1033-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 610d05dc2cf041a86d932cf0f8e006d8c9dcf9d73e81540c5d4eac696cc60b91 |
|
MD5 | 48f0fe778ec66a5e29c0fbce04bed19a |
|
BLAKE2b-256 | c4f252afc9d98ce1ed2e56d6147bbc5de666b130dde5b74d7e52e98fd74359cb |