Python API wrapper for Rocket.Chat
Project description
rocketchat_API
Python API wrapper for Rocket.Chat
Installation
- From pypi:
pip3 install rocketchat_API
- From GitHub:
Clone our repository and
python3 setup.py install
Requirements
Usage
from pprint import pprint
from rocketchat_API.rocketchat import RocketChat
proxy_dict = {
"http" : "http://127.0.0.1:3128",
"https" : "https://127.0.0.1:3128",
}
rocket = RocketChat('user', 'pass', server_url='https://demo.rocket.chat', proxies=proxy_dict)
pprint(rocket.me().json())
pprint(rocket.channels_list().json())
pprint(rocket.chat_post_message('good news everyone!', channel='GENERAL', alias='Farnsworth').json())
pprint(rocket.channels_history('GENERAL', count=5).json())
note: every method returns a requests Response object.
Connection pooling
If you are going to make a couple of request, you can user connection pooling provided by requests
. This will save significant time by avoiding re-negotiation of TLS (SSL) with the chat server on each call.
from requests import sessions
from pprint import pprint
from rocketchat_API.rocketchat import RocketChat
with sessions.Session() as session:
rocket = RocketChat('user', 'pass', server_url='https://demo.rocket.chat', session=session)
pprint(rocket.me().json())
pprint(rocket.channels_list().json())
pprint(rocket.chat_post_message('good news everyone!', channel='GENERAL', alias='Farnsworth').json())
pprint(rocket.channels_history('GENERAL', count=5).json())
Using a token for authentication instead of user and password
from pprint import pprint
from rocketchat_API.rocketchat import RocketChat
rocket = RocketChat(user_id='WPXGmQ64S3BXdCRb6', auth_token='jvNyOYw2f0YKwtiFS06Fk21HBRBBuV7zI43HmkNzI_s', server_url='https://demo.rocket.chat')
pprint(rocket.me().json())
Method parameters
Only required parameters are explicit on the RocketChat class but you can still use all other parameters. For a detailed parameters list check the Rocket chat API
API coverage
Most of the API methods are already implemented. If you are interested in a specific call just open an issue or open a pull request.
Tests
We are actively testing :)
Tests run on a Rocket.Chat Docker container so install Docker and docker-compose.
- To start test server do
docker-compose up
and to take test server downdocker-compose down
- To run the tests run
pytest
Contributing
You can contribute by doing Pull Requests. (It may take a while to merge your code but if it's good it will be merged). Please, try to implement tests for all your code and use a PEP8 compliant code style.
Reporting bugs and asking for features is also contributing ;) Feel free to help us grow by registering issues.
We hang out here if you want to talk.
Supporters
JetBrains supports this project by providing us with licenses for their fantastic products.
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
Built Distribution
Hashes for rocketchat_API-1.32.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ce0df164fe731d868f44c37d3aae67d03aee1dd3c148bc6ede2ae06ed8a108b |
|
MD5 | a34ec05b9fd4cb8179b1d146a4c9537b |
|
BLAKE2b-256 | c38f9de6b95b30297efd9c4731af56e1c4172ef0fc8810c75c7b4aa9489ccaca |