- The Hiven API-Wrapper
python3 -m pip install -U openhivenpy
python3 -m pip install -U openhivenpy==version
python3 -m pip install -U https://github.com/Luna-Klatzer/openhiven.py/archive/main.zip
For the full documentation visit the documentation build here
The following listeners will not pass args to the listener until 0.2:
- room_create
- room_update
- room_delete
- house_member_join
- house_member_leave
- house_member_enter
- house_member_exit
- house_member_update
- house_member_chunk
- batch_house_member_update
- house_entity_update
- relationship_update
- presence_update
- message_create
- message_update
- message_delete
- typing_start
A simple UserClient Bot for quick usage:
import openhivenpy as hiven
client = hiven.UserClient()
@client.event()
async def on_ready():
print("Bot is ready")
client.run("Insert token")
A simple CommandListener for reacting to commands:
import openhivenpy as hiven
client = hiven.UserClient()
@client.event()
async def on_ready():
print("Bot is ready")
@client.event()
async def on_message_create(msg):
if msg.content.startswith("-"):
if msg.content == "-ping":
return await msg.room.send("pong")
client.run("Insert token")
Inherited HivenClient Example:
import openhivenpy as hiven
class Bot(hiven.UserClient):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
async def on_ready(self):
print("Bot is ready!")
if __name__ == '__main__':
client = Bot()
client.run("Insert token")
Testing openhiven.py is done over GitHub Actions and more specific pytest
,
which runs tests for the module that are located in ./pytest
.
These tests validate functionality and also make requests to the Hiven API or rather in this case a Mock API to not spam the native Rest API of Hiven. (Visible here: https://mockapi.io/projects/61143430cba40600170c1e66)
To run these tests simply use (Make sure the pypi module pytest
is
installed):
cd ./pytest
pytest -q --token=<HIVEN_TOKEN>
A HIVEN_TOKEN is required for testing. Get one before running the tests, so they can run successfully. More info here
You need to be registered on Hiven and inside the openhiven.py house for correctly running the tests
Building the module to be able to install it can be done using the build
module of Python. Simply install build
and then use this snippet to build the
module:
python -m build
The build module/s should be located in ./dist
To upload a new version to PyPi simply use the pypi module twine
.
Before uploading build the module and then test them using:
twine check dist/*
If everything is fine upload using:
twine upload dist/*
To deploy the docs simply use the python module mike
, which is used for
versioning. The following snippet will run a simple http server and update
the docs when changed:
mike serve
Note! Install openhiven.py
locally for the autodoc extension to work
To deploy new changes onto a new version, the gh-pages
branch is used, which
contains the docs for all previous versions. To push there you can either
manually push changes (not recommended) or use mike to build, push and directly
deploy using GitHub Pages:
Pushing new version:
mike deploy --push <version>
Note! This command can also be used to overwrite old documentations
Updating the latest
alias
Delete old latest
alias value
mike delete latest
Set new latest
alias value
mike alias <version> latest
Set default version/alias
Note! This is already set as default to the latest
tag, meaning if the latest
alias is updated, the default does not have to be altered.
mike set-default <version>
Mike: https://github.com/jimporter/mike
Copyright (c) 2021, Nicolas Klatzer* . All rights reserved.
See the LICENSE for information on terms & conditions for usage