Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Quart-Discord

PyPI Read the Docs

Discord OAuth2 extension for Quart using py-cord, nextcord, or the deprecated discord.py.

Installation

To install current latest release use one of the following commands:

For py-cord: (My recommendation)

python3 -m pip install Quart-Discord-any[pycord]

For nextcord:

python3 -m pip install Quart-Discord-any[nextcord]

For the deprecated discord.py:

python3 -m pip install Quart-Discord-any[discordpy]

You MUST install one of the extras!

Basic Example

from quart import Quart, redirect, url_for
from quart_discord import DiscordOAuth2Session, requires_authorization, Unauthorized

app = Quart(__name__)

app.secret_key = b"random bytes representing quart secret key"

app.config["DISCORD_CLIENT_ID"] = 490732332240863233    # Discord client ID.
app.config["DISCORD_CLIENT_SECRET"] = ""                # Discord client secret.
app.config["DISCORD_REDIRECT_URI"] = ""                 # URL to your callback endpoint.
app.config["DISCORD_BOT_TOKEN"] = ""                    # Required to access BOT resources.

discord = DiscordOAuth2Session(app)


@app.route("/login/")
async def login():
    return await discord.create_session()
	

@app.route("/callback/")
async def callback():
    await discord.callback()
    return redirect(url_for(".me"))


@app.errorhandler(Unauthorized)
async def redirect_unauthorized(e):
    return redirect(url_for("login"))

	
@app.route("/me/")
@requires_authorization
async def me():
    user = await discord.fetch_user()
    return f"""
    <html>
        <head>
            <title>{user.name}</title>
        </head>
        <body>
            <img src='{user.avatar_url}' />
        </body>
    </html>"""


if __name__ == "__main__":
    app.run()

For an example to the working application, check test_app.py

Requirements

  • Quart
  • Async-OAuthlib
  • cachetools

Documentation

Head over to documentation for full API reference.

Metadata

Release files for Quart-Discord-any 2.2.2b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Quart-Discord-any 2.2.2b1
File Size Uploaded
Quart-Discord-any-2.2.2b1.tar.gz 15.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Quart-Discord-any 2.2.2b1
File Interpreter ABI Platform
Quart_Discord_any-2.2.2b1-py3-none-any.whl Python 3 none any Details

Total release size: 36.2 kB

Release files / Quart-Discord-any-2.2.2b1.tar.gz

Download URL Quart-Discord-any-2.2.2b1.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
420d48e72aed818e7922274864c7bdf5d55a560b8a41e986648b8f418a77bcfe
BLAKE2b-256 checksum
How to use checksums
2699158dff20871b6da94844ffedbef95a73f8263cd67fbfcf02d8f903f62c10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / Quart_Discord_any-2.2.2b1-py3-none-any.whl

Download URL Quart_Discord_any-2.2.2b1-py3-none-any.whl
Size 20.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
63f6c2e214d5dc73f8f4c9b3c64aed687b2b4b2f7e1822e29ae7de4e274cb6ab
BLAKE2b-256 checksum
How to use checksums
fc472d9c50a423c6d6327c49a32b15daf7298c2ad1ac306a18eb170a1808976a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page