Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cloverspace-3.0.0-py3-none-any.whl (47.6 kB view details)

Uploaded Python 3

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

Hashes for cloverspace-3.0.0.tar.gz
Algorithm Hash digest
SHA256 621f8b9c90b69fb80e1a1ae9256df3e91ced7e8f10948995df0d254c62a9f940
MD5 843c0a83b6c4896b80adfdcc822f4817
BLAKE2b-256 ea203c077a5466454edc9a245bf34cfbe5e8430f3f37e60eff2d9f3a9727e9ad

See more details on using hashes here.

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

Hashes for cloverspace-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a9a58305631f79d08fd61713c76082c2df07e8cc3a00dbefa3f0baf7240b498
MD5 9c318efebf6215ffa76f74e9b2664216
BLAKE2b-256 4d259e6b478b3a5dca57c05a577d8fe59c26c93500ce8cf8cea7b25d08adc591

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page