An asynchronous library for creating scripts and chatbots in Clover.Space;
Project description
Clover.Space (Project Z)
A simple python asynchronous library for interaction with Clover.Space (old Project Z)
This library is a fork of ProjZ.py. Updated by myself with the help of MrWest.
Installation
pip install cloverspace
❗ The following examples need to be updated!
Example - login and get object id from link
import projz
from asyncio import get_event_loop
client = projz.Client()
async def main():
result = await client.login_email("your email", "your password")
print(f"Logged in to account with nickname {result.user_profile.nickname}")
info = await client.get_link_info("link here")
print(f"Object id: {info.object_id}, object type: {info.object_type}")
if __name__ == "__main__":
get_event_loop().run_until_complete(main())
Example - login and post blog
import projz
from asyncio import get_event_loop
from aiofiles import open as async_open
client = projz.Client()
async def main():
result = await client.login_email("your email", "your password")
print(f"Logged in to account with nickname {result.user_profile.nickname}")
circle_link_info = await client.get_link_info(input("Circle link: "))
await client.post_blog(
"Blog title",
"Blog content",
content_rich_format=projz.RichFormatBuilder().h1(0, 4).build(),
cover=await client.upload_file(await async_open("cover-file.png", "rb"), projz.EUploadTarget.FOREGROUND),
background=await client.upload_file(await async_open("bg-file.png", "rb"), projz.EUploadTarget.BACKGROUND),
circle_list=[circle_link_info.object_id]
)
if __name__ == "__main__":
get_event_loop().run_until_complete(main())
Example - receive messages
import projz
from asyncio import get_event_loop
client = projz.Client()
@client.on_message()
async def handle_echo(message: projz.ChatMessage):
if message.content is not None:
await client.send_message(message.thread_id, content=message.content)
# You can specify the command prefix in the arguments of the decorator or Client.
# The slash / is set by default.
@client.on_command("off") # = on_message("/off")
async def handle_off(message: projz.ChatMessage):
await client.change_chat_online_status(message.thread_id, is_online=False)
async def main():
await client.login_email("your email", "your password")
print("Waiting for the messages...")
if __name__ == "__main__":
loop = get_event_loop()
loop.run_until_complete(main())
loop.run_forever()
Addition: Using CLI functions
Print available functions
python -m projz list-actions
Login to an account with email and print info about it
python -m projz login --auth email --login yourlogin --password yourpassword
Or with phone number
python -m projz login --auth phone --login yourlogin --password yourpassword
Get information about the link
python -m projz link-info --auth email --login yourlogin --password yourpassword --info yourlink
Send messages to the chat
python -m projz send-message --auth email --login yourlogin --password yourpassword --thread chatlink --repeat 150
Join to the circle
python -m projz join-circle --auth email --login yourlogin --password yourpassword --circle circlelink
Leave from the circle
python -m projz leave-circle --auth email --login yourlogin --password yourpassword --circle circlelink
Listen for the chat messages
python -m projz listen --auth email --login yourlogin --password yourpassword
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
cloverspace-3.0.0.tar.gz
(31.2 kB
view details)
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 cloverspace-3.0.0.tar.gz.
File metadata
- Download URL: cloverspace-3.0.0.tar.gz
- Upload date:
- Size: 31.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
621f8b9c90b69fb80e1a1ae9256df3e91ced7e8f10948995df0d254c62a9f940
|
|
| MD5 |
843c0a83b6c4896b80adfdcc822f4817
|
|
| BLAKE2b-256 |
ea203c077a5466454edc9a245bf34cfbe5e8430f3f37e60eff2d9f3a9727e9ad
|
File details
Details for the file cloverspace-3.0.0-py3-none-any.whl.
File metadata
- Download URL: cloverspace-3.0.0-py3-none-any.whl
- Upload date:
- Size: 47.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a9a58305631f79d08fd61713c76082c2df07e8cc3a00dbefa3f0baf7240b498
|
|
| MD5 |
9c318efebf6215ffa76f74e9b2664216
|
|
| BLAKE2b-256 |
4d259e6b478b3a5dca57c05a577d8fe59c26c93500ce8cf8cea7b25d08adc591
|