Skip to main content

Python API wrapper for Rocket.Chat

Project description

rocketchat_API

Python API wrapper for Rocket.Chat

Codacy Badge Build Status codecov PyPI Say Thanks!

Do you like my library? buy me a 🍺 ➡️ Donate Bitcoin or ko-fi

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.

note: Library updated to work with Rocket.Chat >= 0.73.1

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

aleph-logo

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

rocketchat_API-0.6.36-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

rocketchat_API-0.6.36-py2-none-any.whl (9.6 kB view details)

Uploaded Python 2

File details

Details for the file rocketchat_API-0.6.36-py3-none-any.whl.

File metadata

  • Download URL: rocketchat_API-0.6.36-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.6.7

File hashes

Hashes for rocketchat_API-0.6.36-py3-none-any.whl
Algorithm Hash digest
SHA256 8a9565d42048d63ed64219cd154926e4870044d4f78cad096aaf7f5da1e56e0b
MD5 e7760d2a46b6aa09bf30a52a7800e67a
BLAKE2b-256 8ee669e5d75ad687635c56a27a8529c471cf1a8593e071784c4d2727382cd5db

See more details on using hashes here.

File details

Details for the file rocketchat_API-0.6.36-py2-none-any.whl.

File metadata

  • Download URL: rocketchat_API-0.6.36-py2-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/2.7.15

File hashes

Hashes for rocketchat_API-0.6.36-py2-none-any.whl
Algorithm Hash digest
SHA256 4f3fac960376db88c25a7174ca2dfe7d4fc286466c4f0ad6240e9a25e25a8a3f
MD5 8f46e717688b4f756910874b3d283392
BLAKE2b-256 f20ce363d5af7b794fb3a86076ac161d89088bd2b9e57ee399f16624bc617ef3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page