Skip to main content

Api Module for https://bubblez.app/ and websockets

Project description

Bubblez.py - Api Module for Bubblez.app

A Python Module for the Bubblez.app api

Version's


Setup

For this Api Module you need to have your api token!
If you dont? Than request it here.

Pip install:

   pip install bubblez.py

If you dont use the Pypi, than you need to manuel install Requests

   python -m pip install requests 

Note:

If you use Windows and can not connected to the websockets because a SSL problem with python:

socket.connect(verify=False)
This is vulnerable for man-in-middle attacks!!

Examples

Check the examples for api and websockets

Docs

Basic Client Setup:

    from Bubblez import Bubblez 



    client = Bubblez("Live token") 



    'If you want to post to canary:'

    client = Bubblez("Canary token", use_canary=True)

Client Setup with all the websocket-events:

    from Bubblez import Bubblez

    from Bubblez.socket import Socket, Events, classes





    client = Bubblez("Your token", True, True)

    socket = Socket(client)





    @socket.on(Events.NewLike)

    def new_like(type, user: classes.User, post: classes.Post):

        print(type, user.username, post.message)

        "Do Your thing"

        

    @socket.on(Events.NewPost)

    def new_post(post: classes.Post):

        print(post.json())

        "Do Your thing"



    @socket.on(Events.NewFollower)

    def new_follower(user: classes.User):

        print(user.json())

        "Do Your thing"



    @socket.on(Events.NewReply)

    def new_reply(postid: int, reply: classes.Reply):

        post = client.post.get(postid)

        print(post.message, reply.message)

        "Do Your thing"



    @socket.on(Events.UnFollowed)

    def un_follower(user: classes.User):

        print(user.json())

        "Do Your thing"



    @socket.on(Events.NewEdit)

    def new_edit(user: classes.User, type: str, post: classes.Post, reply: classes.Reply):        

        print(user.json(), type, post.json(), reply.json())

        "Do Your thing"



    @socket.on(Events.Unlike)

    def un_linke(user: classes.User, type: str, post: classes.Post, reply: classes.Reply):

        print(user.json(), type, post.json(), reply.json())

        "Do Your thing"



    socket.connect()

   

User stuff:

Check the user:

Command: user = client.user.check()

This command checks the client's token

The response:

user.json()

{

    "200": "Found user",

    "uuid": null,

    "username": "DarkMatter",

    "displayname": "DarkMatter",

    "pfp": "https://i.imgur.com/jAOd5gE.png",

    "banner": "https://i.imgur.com/1bZdeBF.png",

    "coins": "85",

    "rank": "founder",

    "eventr": "darkmatter",

    "patreon": "true",

    "booster": "true",

    "bio": "We don't know much about them, but we're sure DarkMatter is great.",

    "nsfw": "false",

    "dob": null,

    "pronoun": "hehim",

    "ban": null,

    "created_at": "2019-10-21 07:40:23",

    "last_posted": "2021-07-30 01:19:36",

    "posts": [

        {

            "postid": "522",

            "username": "DarkMatter",

            "nsfw": "false",

            "content": "API is cool",

            "from": "API testing",

            "locked": "false",

            "edited": null,

            "post_date": "2021-07-30 12:18:31"

        }

    ],

    "replies": [

        {

            "replyid": "1473",

            "postid": "522",

            "username": "DarkMatter",

            "nsfw": "false",

            "content": "Cool reply with the API",

            "from": "API testing",

            "edited": null,

            "reply_date": "2021-07-30 12:49:12"

        }

    ]

}

Ping the user:

Command: user = client.user.ping()
The response:

user.json()

{

    "200": "Pong",

    "username": "DarkMatter",

    "online_status": "2021-07-30 13:03:18"

}

Get the user:

Command: user = client.user.get(username=..)

| Arguments | Type | Value |

| :--- | :--- | :--- |

| username | str | The user you want to get |

The response:

user.json()

{

    "200": "Found user",

    "uuid": null,

    "username": "embed",

    "displayname": "embed",

    "followers": 2,

    "pfp": "https://i.imgur.com/Md5C3uy.gif",

    "banner": null,

    "coins": "0",

    "rank": "founder",

    "eventr": "lgbt19",

    "patreon": "true",

    "booster": "true",

    "bio": "the best bubblez dev.",

    "nsfw": "false",

    "pronoun": "none",

    "ban": null,

    "created_at": "2019-10-22 12:04:01",

    "last_posted": null,

    "posts": [

        {

            "postid": "280",

            "username": "embed",

            "nsfw": "false",

            "content": "gamimg",

            "from": null,

            "locked": "false",

            "edited": null,

            "post_date": "2020-08-09 17:15:19"

        }

    ]

}

Posts stuff:

Send a Post:

Command: post = client.post.send(message=.., from_=.., locked=.., nsfw=..)

| Arguments | Type | Value |

| :--- | :--- | :---

| message | str | The message in the post. |

| from_ | str | The little message next to the date. |

| locked | bool | if True, no-one can reply. |

| nsfw | bool | if True, You need to set DOB (Date Of birth) to see this|

The response:

post.json()

{

    "200": "message sent",

    "post": "API is cool",

    "from": "API testing",

    "locked": "false",

    "pnsfw": "false",

    "postid": 522

}

Get a post

Command: post = client.post.get(postid=..)
The response:

| Arguments | Type | Value |

| :--- | :--- | :--- |

| postid | int | The postid of the post you want to get. |

post.json()

{

    "200": "Found post",

    "postid": "522",

    "username": "DarkMatter",

    "pfp": "https://i.imgur.com/jAOd5gE.png",

    "nsfw": "false",

    "content": "API is cool",

    "from": "API testing",

    "locked": "false",

    "edited": null,

    "post_date": "2021-07-30 12:18:31",

    "replies": [

        {

            "replyid": "1473",

            "username": "DarkMatter",

            "pfp": "https://i.imgur.com/jAOd5gE.png",

            "content": "Cool reply with the API",

            "from": null,

            "deleted": null,

            "edit_date": null,

            "reply_date": "2021-07-30 12:49:12"

        }

    ]

}

Delete a Post

Command: post = client.post.delete(postid=..)

| Arguments | Type | Value |

| :--- | :--- | :--- |

| postid | int | The id of the post you want to delete. |

The response:

post.json()

{

    "200": "Post 522 has been deleted"

}

Lock a post

Command: post = client.post.lock(postid=.., togglelock=..)

| Arguments | Type | Value |

| :--- | :--- | :--- |

| postid | int | The post id|

| togglelock| bool| If True, no-one can reply on your post! |

The response:

post.json()

{

    "200": "Post 522 has been locked"

}

or when unlocked

{

    "200": "Post 522 has been unlocked"

}

Get the latest post Global

Command: post = client.post.get_latest(id_only=..)

| Arguments | Type | Value |

| :--- | :--- | :--- |

| id_only | bool | If False, than it returns a Post object else only the ID |

The response:

post.json()

{

    "200": "latest Post",

    "postid": "522"

}

Reply's:

Send a reply

Command: reply = client.reply.send(message=.., postid=.., from_=.., nsfw=...)

| Arguments | Type | Value |

| :--- | :--- | :---

| message | str | The message in the reply. |

| postid | int | The postid you want to reply on |

| from_ | str | The little message next to the date. |

| nsfw | bool | if True, You need to set DOB (Date Of birth) to see this|

The response:

reply.json()

{

    "200": "reply sent",

    "reply": "Cool reply with the API",

    "postid": "522",

    "from": "API testing",

    "rnsfw": "false",

    "replyid": 1473

}

Delete a reply

Command: reply = client.reply.delete(replyid=..)

| Arguments | Type | Value |

| :--- | :--- | :---

| replyid | int | The postid you want to reply on |

The response:

reply.json()

{

    "200": "reply 1473 has been deleted"

}

Edit a reply()

Command: reply = client.reply.edit(replyid=.., message=..)

| Arguments | Type | Value |

| :--- | :--- | :--- |

| replyid | int | The postid you want to reply on |

| message | str | the message than will replace the old one |

The response:

reply.json()

{

    "200": "Reply 1473 has been updated"

    }

Blog:

Get the latest Blog post!()

Command: devlog = client.devlog.get_latest()

This command returns the latest Blog!

The response:

devlog.json()

{

    "200": "latest Blog Post",

    "blogid": "",

    "blogposter_username": "",

    "blogposter_displayname": "",

    "blogposter_pfp": "",

    "blogcontent": "",

    "blogdate": "1990-01-01 00:00:00"

}

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

Bubblez.py-0.0.5.5.8.tar.gz (15.3 kB view hashes)

Uploaded Source

Built Distribution

Bubblez.py-0.0.5.5.8-py3-none-any.whl (24.0 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