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
- Bubblez.app has approved Bubblez.py
Version's
- Python: Github Bubblez.py
- PyPi: bubblez.py
- Bubblez.js: bubblez.js
- Bubblez.js Wiki/Documentation: Wiki/Documentation
- Live Website: bubblez.app
- Canary Website canary.bubblez.app
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(post: classes.Post, reply: classes.Reply):
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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
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.
Source Distribution
Bubblez.py-0.0.5.5.3.tar.gz
(14.4 kB
view hashes)
Built Distribution
Close
Hashes for Bubblez.py-0.0.5.5.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb89b787198c75d6a4d1915904423b81d7b55df514e906fa69ec0e1373dbf1d0 |
|
MD5 | 3ff9a46f1a4710c12c08f854481e569b |
|
BLAKE2b-256 | dcac3763844a8f7d1eb4289e56b6345094dc1b5fb8a3351fd3e11dc247fc859c |