Skip to main content

Easily using discord webhooks in python - asynchronous and synchronous - documented at https://github.com/Coolo22/discordoauth.py/docs/

Project description

discordwebhook.py

Downloads Downloads Version Discord

A python package for using Discord Oauth2 with any webserver. Designed to be simple to use with as little input as possible. Asynchronous webservers (eg Quart) are reccomended

For downloads see the PyPi page For documentation see the /docs directory. For extra support join the Discord server

Installation

pip install discordoauth.py

Examples

See Examples in the examples/ directory

Quart example

"""
Basic Quart example for using Discord Oauth2
"""

import quart
import discordoauth 

app = quart.Quart(__name__)

# The application ID and secret to use for Oauth.
app_id = 999999999999999999
app_secret = "app_secret_here"

# Initialise client and choose scopes.
# Supported scopes can be seen in the README.md
client = discordoauth.Client(app_id, app_secret)
scopes = discordoauth.Scopes(identify=True)

# The address that flask is currently running on
address = "localhost:5000"

@app.route("/login", ["GET"])
def _login():

    # Generate an oauth URL and redirect the user to it
    return quart.redirect(
        client.get_oauth_url(scopes, rediret_uri= address+"/return")
    )

@app.route("/return", ["GET"])
async def _discord_return():

    # Get the code discord responds with from URI arguments
    code = quart.request.args.get("code")

    # Start a session
    session = client.new_session(code, scopes, address+"/return")

    # Use scope identify to fetch user information. Automatically converts code to access token
    user = await session.fetch_user()

    return f"""
Username: {user.name} <br>
User ID: {user.id}
    """

# Run the app locally on port 5000
app.run("0.0.0.0", 5000)

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

discordoauth.py-0.1.3.tar.gz (8.4 kB view hashes)

Uploaded Source

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