معرفی شرکت ها


fastapi-discord-0.2.4


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Discord OAuth FastAPI extension for APIs
ویژگی مقدار
سیستم عامل -
نام فایل fastapi-discord-0.2.4
نام fastapi-discord
نسخه کتابخانه 0.2.4
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Tert0
ایمیل نویسنده -
آدرس صفحه اصلی https://github.com/Tert0/fastapi-discord
آدرس اینترنتی https://pypi.org/project/fastapi-discord/
مجوز MIT
[![PyPI version](https://badge.fury.io/py/fastapi-discord.svg)](https://badge.fury.io/py/fastapi-discord) [![PyPI Downloads](https://img.shields.io/pypi/dm/fastapi-discord.svg)](https://pypi.org/project/fastapi-discord) # FastAPI Discord (OAuth) Support for "Login with Discord"/ Discord OAuth for FastAPI. # Install PIP Package `fastapi-discord` # Example You can find the Example in `expamples/` ```py from typing import List from fastapi import Depends, FastAPI from fastapi.responses import JSONResponse from fastapi_discord import DiscordOAuthClient, RateLimited, Unauthorized, User from fastapi_discord.exceptions import ClientSessionNotInitialized from fastapi_discord.models import GuildPreview app = FastAPI() discord = DiscordOAuthClient( "<client-id>", "<client-secret>", "<redirect-url>", ("identify", "guilds", "email") ) # scopes @app.on_event("startup") async def on_startup(): await discord.init() @app.get("/login") async def login(): return {"url": discord.oauth_login_url} @app.get("/callback") async def callback(code: str): token, refresh_token = await discord.get_access_token(code) return {"access_token": token, "refresh_token": refresh_token} @app.get( "/authenticated", dependencies=[Depends(discord.requires_authorization)], response_model=bool, ) async def isAuthenticated(token: str = Depends(discord.get_token)): try: auth = await discord.isAuthenticated(token) return auth except Unauthorized: return False @app.exception_handler(Unauthorized) async def unauthorized_error_handler(_, __): return JSONResponse({"error": "Unauthorized"}, status_code=401) @app.exception_handler(RateLimited) async def rate_limit_error_handler(_, e: RateLimited): return JSONResponse( {"error": "RateLimited", "retry": e.retry_after, "message": e.message}, status_code=429, ) @app.exception_handler(ClientSessionNotInitialized) async def client_session_error_handler(_, e: ClientSessionNotInitialized): print(e) return JSONResponse({"error": "Internal Error"}, status_code=500) @app.get("/user", dependencies=[Depends(discord.requires_authorization)], response_model=User) async def get_user(user: User = Depends(discord.user)): return user @app.get( "/guilds", dependencies=[Depends(discord.requires_authorization)], response_model=List[GuildPreview], ) async def get_guilds(guilds: List = Depends(discord.guilds)): return guilds ``` # Inspired by [Starlette-Discord](https://github.com/nwunderly/starlette-discord) [Quart-Discord-OAuth](https://github.com/Tert0/Quart-Discord-OAuth/) [Quart-Discord](https://github.com/jnawk/quart-discord) Thanks to @jnawk and @nwunderly


نیازمندی

مقدار نام
==0.11.1 aiocache
==3.8.3 aiohttp
==0.85.0 fastapi


زبان مورد نیاز

مقدار نام
>=3.5 Python


نحوه نصب


نصب پکیج whl fastapi-discord-0.2.4:

    pip install fastapi-discord-0.2.4.whl


نصب پکیج tar.gz fastapi-discord-0.2.4:

    pip install fastapi-discord-0.2.4.tar.gz