Skip to main content

Read the latest Real Python tutorials

Project description

Shadpy
Shad API Framework for Python
Homepage Documentation Releases

Shad Api

Elegant, modern and asynchronous Shad API framework in Python for users and bots

Accounts

from shadapi import Client

app = Client('my_account_auth')

@app.handler
async def my_bot(bot, message):
    await message.reply('``Hello`` __from__ **Shad Api**!')

Another example:

from shadapi import Client

app = Client("my_account_auth")

async def my_bot(bot):
    await bot.sendText('object_guid', '``Hello`` __from__ **Shad Api**!')

app.run(my_bot)

Bots Examples (ONLY FOR SPECIAL MEMBERS) (NOT TESTED)

from shadapi import Bot

app = Bot('token')

async def my_bot(bot):
    me = await bot.getMe()
    print(me)

app.run(my_bot)

OR

from shadapi import Bot

app = Bot('token')

async def my_bot(bot):
    me = await bot.sendMessage('chat_id', 'text')
    print(me)

app.run(my_bot)

Shad-Api is a modern, elegant and asynchronous framework. It enables you to easily interact with the main Shad API through a user account (custom client) or a bot identity (bot API alternative) using Python.

Key Features

  • Ready: Install Shad-Api with pip and start building your applications right away.
  • Easy: Makes the Shad API simple and intuitive, while still allowing advanced usages.
  • Elegant: Low-level details are abstracted and re-presented in a more convenient way.
  • Fast: Boosted up by pycryptodome, a high-performance cryptography library written in C.
  • Async: Fully asynchronous (also usable synchronously if wanted, for convenience).
  • Powerful: Full access to Shad's API to execute any official client action and more.

Installing

pip3 install shadapi

Notes

broken message handler

when using this library for fethcing messages from a chat, the library will start a WebSocket channel with the server, and because of the present lag in the server, some of the messages will not be sent by the server and wont be processed by the client (this is not an issue with the library, it's from the server! this problem also do exist in the Android and Web versions of Shad) we can kindof fix this problem by loading every last message every once in a while to ensure that the client have recived every message, but this would make the bot use more internet (around 277MB per day for maden requests every 2 seconds). the problem with this bypass is that the server would consider that as "request spam" (aka DDOS) and will refuse to response to most of the requests, and this would make the bot pretty much slower! i would still implement this functionality in the library and write with the addition of "request delay", but until shad devs fix the main issue inside the server or until i find an actuall bypass solution, this are the only ways to handle messages in this library.

Request method advantages disadvantage
WebSocket syncing instant trigger ignores most messages
getChatUpdates request triggers on every message slow trigger

Thanks to:

shayanheidari01

he did an awesome job at making a rubika library which helped alot to make this project! https://github.com/shayanheidari01/rubika

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

shadapi-0.1.1.tar.gz (138.9 kB view details)

Uploaded Source

Built Distribution

shadapi-0.1.1-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file shadapi-0.1.1.tar.gz.

File metadata

  • Download URL: shadapi-0.1.1.tar.gz
  • Upload date:
  • Size: 138.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for shadapi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 df87a2b39a2acd5498f02f003477d2db703b25be7758885b9adec8f0fe439553
MD5 f91815a58638e4f74154c9249312d5e4
BLAKE2b-256 345451a0969019ba247d6eee571df370c51acf2f9fadc96bbb69c3ed62dd49c2

See more details on using hashes here.

Provenance

File details

Details for the file shadapi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: shadapi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for shadapi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7e0836d08f4c2492fd65ad7d091af331d864e77ccaa57f12101dd5077b9b6554
MD5 c00418af875de95ddcae3d565db808e6
BLAKE2b-256 8a6303b9d0a8891cd761e559425411fcc72863c0a578faa7f86a1126c3c46143

See more details on using hashes here.

Provenance

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