Metadata-Version: 2.1
Name: disunity
Version: 0.1.4
Summary: Python framework for Discord interactions using a web server.
Home-page: https://github.com/murillotadeo/disunity
Author: Tadeo Murillo
License: MIT
Project-URL: Issue tracker, https://github.com/murillotadeo/disunity/issues
Project-URL: Source, https://github.com/murillotadeo/disunity
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.10.0
Description-Content-Type: text/markdown
License-File: LICENSE

# disunity

Python framework for Discord interactions using a web server

# Installation
`pip install disunity`

# Introduction to Disunity
```python
import disunity

server = disunity.DisunityServer()

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

Using packages
```python
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

```python
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.



