HTTP bridge for the Discord API
Project description
discord-bridge
THIS IS WORK-IN-PROGRESS - Not released for production use yet
HTTP bridge for the Discord API
Contents
Overview
The current Discord API provides a way to send direct messages to users via Websockets.
However, some applications do not directly support Websockets, which makes it difficult to implement a feature for sending direct messages. For example many Django sites only directly support the HTTP protocol.
Django Bridge solves this problem by allowing applications to send direct messages to Discord users with an HTTP API. This is accomplished by providing two main components:
- server: A micro server that talks to Discord via Websockets and exposes features like sending a direct message through a HTTP API
- client: A client library, which provides easy access to the HTTP API through a wrapper class
Features
- HTTP API for sending direct messages to users and guild channels
- Client class for easy access to the HTTP API
- Micro server is fully configurable and has logging
- Solid test coverage
Examples
Here is an example that shows how simple it is to send a direct message to a Discord user with the provided client library.
from discord_web_bridge.client import WebClient
client = WebClient()
client.send_direct_message(user_id=1234, content="Hello there!")
Installation
tbd
Updating
tbd
Server configuration
The server is supposed to run via supervisor and can be configured with the below arguments. It comes with sensible defaults and will in most cases only need the Discord bot token to operate. The bot token can be provided with argument or environment variable.
usage: server.py [-h] [--token TOKEN] [--host HOST] [--port PORT]
[--log-level {INFO,WARN,ERROR,CRITICAL}]
[--log-file-path LOG_FILE_PATH] [--version]
Server with HTTP API for sending messages to Discord
optional arguments:
-h, --help show this help message and exit
--token TOKEN Discord bot token. Can alternatively be specified as
environment variable DISCORD_BOT_TOKEN. (default:
None)
--host HOST server host address (default: 127.0.0.1)
--port PORT server port (default: 9100)
--log-level {INFO,WARN,ERROR,CRITICAL}
Log level of log file (default: INFO)
--log-file-path LOG_FILE_PATH
Path for storing the log file. If no path if provided,
the log file will be stored in the current working
folder (default: None)
--version show the program version and exit
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.