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.
Sponsors
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.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60e989b2541cb25d643338331f4788ccd15f2582057e87e37ac70fb4e795632b |
|
MD5 | 2d51bfd2ca3645119e2577dc588ab4f7 |
|
BLAKE2b-256 | 0a99a9119e8f978f392bed9563384445cafb4c7bae7a0fd2d21416e538e0e6be |
Hashes for rocketchat_API-1.3.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed49c9c681c7f6a0ddcfbcca1e07a9c4e1f50ae0fa2de712505362c8c880f934 |
|
MD5 | 0b5f2bde23478df0bdab6025608be8e4 |
|
BLAKE2b-256 | a1eed688a5ed56971709575f6cab62d2cc8c8f04559675d808cbde1ddb0625c8 |