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())
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 -f docker-compose-test-server.yml up
and to take test server down docker-compose -f docker-compose-test-server.yml down
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.
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 Distributions
Built Distributions
Hashes for rocketchat_API-1.8.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd0225034d41b3a54195a74527ebef3ff0ab5c30abad1c4d59692b35d2128e63 |
|
MD5 | a687a8f194cd5bcecd9580ade6e255dd |
|
BLAKE2b-256 | 5c6f7f5dd522ebec489aa0ad0b1f715c4c306587a5394053f2873da04d243aea |
Hashes for rocketchat_API-1.8.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79de0253b31efba9d1e2a3ef39b88399c72981f7a19286bb21770e0a4d274efe |
|
MD5 | a316ea8c442fb9faacda3f616198a9c8 |
|
BLAKE2b-256 | a39ffb292336106da76662e2f2710f9426f509fb24ebe5ffdfe62cf11b09fcfc |