Skip to main content

Websocket based IPC for discord.py bots

Project description

Soon# winerp An IPC based on Websockets. Fast, Stable, and Reliable, perfect for communication between your processes or discord.py bots.

Install using pip install winerp

Working:

This library uses a central server for communication between multiple processes. You can connect a large number of clients for sharing data, and data can be shared between any connected client.

Example Usage:

Server Side:

import winerp

server = winerp.Server(port=8080)
server.start()

Client 1 (some-random-bot):

import discord
from discord.ext.commands import Bot

import winerp

bot = Bot(command_prefix="!", intents=discord.Intents.all())

bot.ipc = winerp.Client(local_name = "some-random-bot", loop = bot.loop, port=8080)

@bot.command()
async def request(ctx):
    # Fetching data from a client named "another-bot" using route "get_some_data"
    data = await bot.ipc.request("get_some_data", source = "another-bot")
    await ctx.send(data)


@bot.ipc.route()
async def get_formatted_data(user_id = None):
    return f"<@{user_id}>"


@bot.ipc.event
async def on_winerp_ready():
    print("Winerp Client is ready for connections")

bot.loop.create_task(bot.ipc.start())
bot.run("TOKEN")

Client 2 (another-bot)

import discord
from discord.ext.commands import Bot

import winerp

bot = Bot(command_prefix="?", intents=discord.Intents.all())

bot.ipc = winerp.Client(local_name = "another-bot", loop = bot.loop, port=8080)

@bot.command()
async def format(ctx):
    # Fetching data from a client named "some-random-bot" using route "get_formatted_data"
    data = await bot.ipc.request("get_formatted_data", source = "some-random-bot", user_id = ctx.author.id)
    await ctx.send(data)


@bot.ipc.route()
async def get_some_data():
    return "You are very cool"


bot.loop.create_task(bot.ipc.start())
bot.run("TOKEN")

Features

  • Fast: Minimum Response Time Recorded: 0.001s
  • Reliable, Stable and Easy to integrate
  • A single hosted server can be used to serve all clients on the machine
  • No limitation on number of connected clients

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

winerp-1.0.5.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

winerp-1.0.5-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file winerp-1.0.5.tar.gz.

File metadata

  • Download URL: winerp-1.0.5.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.5

File hashes

Hashes for winerp-1.0.5.tar.gz
Algorithm Hash digest
SHA256 2b18e5eeaa413b5bf429fe88895159f731360e2387e0dd0fd2159e8a7b9d43c7
MD5 5edabb59ea3d8b052e87527062c0aa58
BLAKE2b-256 f5baf711fa4f69fd860ecff505778701c1afa0281255a17ff3d4df96cb589349

See more details on using hashes here.

File details

Details for the file winerp-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: winerp-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.5

File hashes

Hashes for winerp-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8d0a7075294f1f590d5653e3e13ab815aa668c43f0369b233fb3272271d8c534
MD5 48750eff38deac9a0f3611a416eeeee5
BLAKE2b-256 0bc7048787372b0e4b8213c188bb59458335b3efd46331a052c6731bb43f2e06

See more details on using hashes here.

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