Skip to main content

Python framework for Discord interactions using a web server

Project description

disunity

Python framework for Discord interactions using a web server

Installation

pip install disunity

Introduction to Disunity

import disunity

server = disunity.DisunityServer()

if __name__ == '__main__':
    server.run()

Using packages

import disunity
import pathlib

server = disunity.DisunityServer()

@server.before_serving
def load_packages():
    for package in [f"{f.parent}.{f.stem}" for f in pathlib.Path("packages").glob("*.py")]:
        server.load_package(package)

if __name__ == '__main__':
    server.run()

Setting up a package

from disunity import package, utils

class FirstPackage(package.Package):
    def __init__(self, app):
        self.app = app

    @package.Package.command('ping')
    async def ping(self, ctx):
        return await ctx.callback("Pong!")

def setup(app):
    app.register_package(FirstPackage(app))

Disclaimer

This will require that you already have hosting service for the server to run on as well as a domain to host the server on. If you have neither of these, an alternative would be to host on Heroku using a web application with Gunicorn.

Side note

The server will receive interactions to the /interactions endpoint of your server. It will look like this: https://example.com/interactions. Once you run the server, put the url with the added interactions endpoint into the interactions URL on your app located in the Discord developer portal.

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

disunity-0.1.7.tar.gz (14.0 kB view hashes)

Uploaded Source

Built Distribution

disunity-0.1.7-py3-none-any.whl (17.5 kB view hashes)

Uploaded Python 3

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