Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alianator-3.0.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

alianator-3.0.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file alianator-3.0.0.tar.gz.

File metadata

  • Download URL: alianator-3.0.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.4 Windows/10

File hashes

Hashes for alianator-3.0.0.tar.gz
Algorithm Hash digest
SHA256 fae2a395066c2f9830207c0779818527aa8bd9c01f65096413ba149fd7377ec6
MD5 fae297b289101ecc2c1a36241bfe32a5
BLAKE2b-256 9f1c4ee7edd766bd0a54373bcb85f092fa98b38515acfda2a31f5e44eec968bf

See more details on using hashes here.

File details

Details for the file alianator-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: alianator-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.4 Windows/10

File hashes

Hashes for alianator-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c9f915a41c7d86b34204c126ffd695558c33c3974100beb0881885308b2562e3
MD5 2b1fc9ad33b47340bbb954c53dbece62
BLAKE2b-256 a5ecfddc37fb8349911e59abff61391eeb5c44ca17c1aa92fb7bf0df2bf5ef06

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page