Skip to main content

Permission Plugin based on Arclet Cithun

Project description

nonebot

nonebot-plugin-permission

Nonebot2 通用权限插件 ✨

license Python NoneBot pypi

本插件基于 arclet-cithun, 提供了一套通用的权限管理系统

安装

  • 使用 nb-cli
nb plugin install nonebot-plugin-permission
  • 使用 pip
pip install nonebot-plugin-permission

使用

设置 Matcher 级别的权限

from nonebot import on_command
from nonebot_plugin_permission import require_permission

matcher = on_command("test", rule=require_permission("command.test"))

设置 Handler 级别的权限

from nonebot import on_command
from nonebot_plugin_permission import depends_permission

matcher = on_command("test")

@matcher.handle(parameterless=depends_permission("command.test"))
async def handle():
    ...

依赖注入权限所有者模型

from nonebot import on_command
from nonebot_plugin_permission import UserOwner

matcher = on_command("test")

@matcher.handle()
async def handle(owner: UserOwner):
    # owner 表示当前用户所代表的权限所有者
    ...

查看具体权限

from nonebot import on_command
from nonebot_plugin_permission import UserOwner, Permission, system

matcher = on_command("test")

@matcher.handle()
async def handle(owner: UserOwner):
    state: Permission = await system.get(owner, "command.test")

通过指令设置权限

permission [@user] set <permission> <state>

通过代码设置权限

from nonebot_plugin_permission import Permission, system

@matcher.handle()
async def _():
    owner = await system.get_or_create_user("xxx")
    # 设置权限
    await system.suset(owner, "command.test", Permission("vma"))
    # 取消权限
    await system.suset(owner, "command.test", Permission("v--"))

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

nonebot_plugin_permission-0.3.1.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_permission-0.3.1-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_permission-0.3.1.tar.gz.

File metadata

  • Download URL: nonebot_plugin_permission-0.3.1.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.25.6 CPython/3.11.7 Windows/10

File hashes

Hashes for nonebot_plugin_permission-0.3.1.tar.gz
Algorithm Hash digest
SHA256 187fe1da6a432530976ff057d4a9dcff407ba870202678d85fb70df33d23422b
MD5 62d72f36a2832e7c1a360d6fe0974ff1
BLAKE2b-256 df3570fbdcbbf0ef6e13629c1ef15965d35e3c9a04851dea0bf938ab5890639a

See more details on using hashes here.

File details

Details for the file nonebot_plugin_permission-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_permission-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 58425880e38c5eb1b1289ecf3c46059741b5552b9215f8c3957cc8c3fb3d1a44
MD5 a442304f5699245d2b73ea406cb946d5
BLAKE2b-256 ecd434a1a0888eed4a9a4ace0574d00e220ee29cbd47247cb2edb6cdcb2e211f

See more details on using hashes here.

Supported by

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