Bloyid Bot API
Project description
bloyid.py
Python API wrapper for Bloyid originating from Fiiral, maintained by Deutscher775
Bloyid Server
For questions, help, or anything else feel free to join the bloyid.py Bloyid server.
Quick jumps
- Current Features
See the features that the framework currently supports. - Installation
Guide on how to install bloyid.py. - Example Bot
An example bot you can directly use. - Use-case-examples
Many various examples on how to use specific functions.
Current features
Command Handling:
- Define and register commands using the @client.command decorator.
- Execute commands with parameters. Register event listeners using the @client.listen decorator. Handle various events such as:
- on_ready
- on_message_create
- on_message_updated
- on_message_deleted
- on_button_clicked
- on_presence_change
- on_reaction_add
- on_member_updated
- on_role_updated
- on_role_deleted
- on_role_created
- on_channel_updated
- on_channel_deleted
- on_channel_created
- on_server_updated
- on_member_join
- on_member_left
- on_server_joined
- on_server_left
- on_friend_request_sent
- on_friend_request_pending
- on_friend_request_accepted
- on_friend_removed
- on_minute_pulse
- on_hour_pulse
Message Handling:
- Send messages to channels.
- add attachments
- add buttons with custom callback
- Edit and delete messages.
- React and unreact to messages.
Attachment Handling:
- Create and upload attachments.
- Deserialize attachments from JSON.
Channel Management:
- Update channel information.
- Send messages to channels.
- Get messages from channels.
- Purge messages from channels.
- Deserialize channels from JSON.
Context Handling:
- Send messages, remove messages, and react to messages within a command context.
Invite Management:
- Create and delete server invites.
- Deserialize invites from JSON.
Member Management:
- Follow, unfollow, add friend, remove friend, and send direct messages to members.
- Kick, ban, and unban server members.
- Deserialize members and server members from JSON.
Post Management:
- Create, delete, comment on, like, and unlike posts.
- Get comments on posts.
- Deserialize posts from JSON.
Role Management:
- Create, update, and delete roles.
- Deserialize roles from JSON.
Server Management:
- Get server details and ban list.
- Create, update, and delete channels and roles.
- Create and delete invites.
- Update server members.
- Deserialize servers from JSON.
Status Management:
- Change the presence status of the bot.
Button Interaction:
- Handle button interactions and send popups.
- Deserialize button interactions from JSON.
Installation
To install bloyid.py via pip, run the following command:
pip install bloyid
Manual Installation (Alternative)
If you'd prefer to install manually, follow these 2 simple steps:
- Clone the repository
git clone https://github.com/ukyyyy/bloyid.py.git
- Navigate into the project directory and install using
pip:
cd bloyid.py
pip install .
Done!
Example commands bot
import bloyid
client = bloyid.Client(
token="YOUR_BOT_TOKEN",
prefix='!',
)
@client.command(name="ping")
async def ping(ctx: bloyid.Context, params: str):
await ctx.send("Pong!")
@client.listen("on_ready")
async def on_ready(params):
print(f"Logged in as {client.account.username}")
client.run()
Use case examples
Sending an attachment
@client.command(name="testattachment")
async def testattachment(ctx: bloyid.Context, params):
file = await bloyid.Attachment.construct("test.png").upload()
result = await ctx.send("Test", attachment=file)
Sending buttons with messages
@client.command(name="testbutton")
async def testbutton(ctx: bloyid.Context, params):
popup_button = bloyid.Button.construct(label="Popup!", id="popuptestbutton", alert=True)
async def popup_callback(buttoninteraction: bloyid.ButtonInteraction):
user = client.get_user(buttoninteraction.userId)
buttoninteraction.send_popup("Test", f"Hello, {user.username}!")
await popup_button.set_callback(popup_callback)
message_button = bloyid.Button.construct(label="Message!", id="messagetestbutton")
async def message_callback(buttoninteraction: bloyid.ButtonInteraction):
user = client.get_user(buttoninteraction.userId)
await ctx.send(f"Hello, {user.username}!")
await message_button.set_callback(message_callback)
await ctx.send("Test", buttons=[message_button, popup_button])
Creating a post
@client.command(name="createpost")
async def createpost(ctx: bloyid.Context, params):
content = ""
for param in params:
content += param + " "
await ctx.send("Creating post with text: " + content)
post = bloyid.Post.create_post(content)
print(post)
await ctx.send("Post created.")
Commenting on a post
@client.command(name="comment")
async def comment(ctx: bloyid.Context, params):
post_id = int(params[0])
content = ""
for param in params[1:]:
content += param + " "
post = bloyid.Post.get_post(post_id)
post.create_comment(content)
await ctx.send("Commented on post.")
Deleting a post
@client.command(name="deletepost")
async def deletepost(ctx: bloyid.Context, params):
post_id = int(params[0])
post = bloyid.Post.get_post(post_id)
post.delete_post()
await ctx.send("Deleted post.")
Issues
If you encounter any issues while using the framework, feel free to open an Issue.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bloyid-0.4.tar.gz.
File metadata
- Download URL: bloyid-0.4.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7542e05f3cc9daead73b603febaf3fb101832a8ca35605d5f54953b2038008df
|
|
| MD5 |
908a81eaa3a057cff8db9cf548b88f93
|
|
| BLAKE2b-256 |
50457e661ef1da2f0e78ee0145f0dea64da815ba12c292196cde453770c83130
|
File details
Details for the file bloyid-0.4-py3-none-any.whl.
File metadata
- Download URL: bloyid-0.4-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad9de4a2956323b10d961db27dd9b7b17e3323b74f9cdea508c5aa6a70d1fab6
|
|
| MD5 |
b3268454b46c5905c53c67572987bcdf
|
|
| BLAKE2b-256 |
474e4a981d1cf2490513bfad0781e7cb0a93f773d1371c7009e43cf43021dcc2
|