rocketchat_API

by jadolg

Python API wrapper for Rocket.Chat

145 Stars 60 Forks Last release: Not found MIT License 455 Commits 51 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

rocketchat_API

Python API wrapper for Rocket.Chat

Codacy Badge Build Status codecov PyPI Say Thanks!

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.