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 Guild Insights', 'Manage Roles', 'Manage Webhooks', 'Manage Emojis and Stickers']
# Resolving from an integer
perms = 3072
aliases = alianator.resolve(perms)
print(aliases)
# ['Read Messages', 'Send Messages']
# 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
Hashes for alianator-3.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9f915a41c7d86b34204c126ffd695558c33c3974100beb0881885308b2562e3 |
|
MD5 | 2b1fc9ad33b47340bbb954c53dbece62 |
|
BLAKE2b-256 | a5ecfddc37fb8349911e59abff61391eeb5c44ca17c1aa92fb7bf0df2bf5ef06 |