Skip to main content

Rocket.Chat API Client

Project description


Cosmicray-Rocketchat
====================

-----------------------------------------
Implementation of Rocket.Chat restful api
-----------------------------------------

.. warning::

Cosmicray-Rocketchat is under development


Install
-------

.. code::

$ pip install cosmicray-rocketchat


Quick start
-----------

CLI
===

Cosmicray-Rocketchat ships with a simple commandline interface.

.. code::

$ rocketchat --help


Configuration: Credentials
==========================

Credentials are stored in a file called `~/.cosmicray/rocketchat/creds`. The following snippet of code creates it:

.. code:: python

>>> import rocketchat
>>> rocketchat.create_creds_file('myusername', 'mypassword')


Configuration: Domain and other settings
========================================

The following code will configure cosmicray-rocketchat client with the domain to use and save the configuration to file

.. code:: python

>>> import rocketchat
>>> rocketchat.configure(domain='http://myrocketchatdomain.com')
>>> rocketchat.store_config()

When importing cosmicray-rocketchat, the config will be automatically loaded. If you need to disable ssl verification

.. code:: python

>>> rocketchat.configure(
... monkey_patch=True,
... verify=False)
>>> rocketchat.store_config()

The `monkey_patch` flag disable SSL warnings.

Alternatively, the above configurations can be changed using the cli:

.. code::

$ rocketchat configure password --username myusername
Promp password:
$ rocketchat configure domain "http://myrocketchatdomain.com" --no-verify


Configuration: Debugging
========================

If there are any issues with making the requests, debugging can be enabled:

.. code:: python

>>> import rocketchat
>>> rocketchat.configure(config={'debug': True})

Or via command line:

.. code::

$ rocketchat configure domain --verbose


API
===

Cosmicray-Rocketchat defines endpoints from https://rocket.chat/docs/developer-guides/rest-api in `rocketchat.v1` module. For example, to get the server api version, you would make the following request:

.. code:: python
>>> import rocketchat
>>> rocketchat.v1.info().get()

The preferred way to interact with the Rocket.Chat api is to use models defined in `rocketchat.models` module.

.. code:: python

>>> rocketchat.models.User.me
<User(_id='CA9t5phAAaLcN9sdZ', type=None, status='offline', active=True, name='bot'...)>
>>> foo = rocketchat.models.User(username='foo').get()
>>> foo.send('Hello foo')


To list public, groups, direct message rooms

.. code:: python

>>> rooms = rocketchat.models.Channel.channels
>>> groups = rocketchat.models.Channel.groups
>>> direct = rocketchat.models.Channel.direct

For convenience, one could access users and rooms via mappings:

.. code:: python

>>> users = rocketchat.users()
>>> channels = rocketchat.channels()
>>> groups = rocketchat.groups()
>>> foo = users['foo']
>>> foo.send('Hello Foo!')
>>> messages = channels['mychannel'].messages.unread
>>> channels['mychannel'].send('Hey!')


To list/send messages for a channel (direct, group, or public/private channel):

.. code:: python

>>> myroom = rocketchat.channels()['myroom']
>>> print(myroom.messages.unread)
>>> messages = myroom.messages.by_daterange('2018-01-01', '2018-01-02').count(100).get()
>>> myroom.send('hello')


To update/delete messages:

.. code:: python

>>> message = myroom.messages.last[0]
>>> message.msg = 'changed message'
>>> message.update()
>>> message.pin()
>>> message.delete()


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cosmicray-rocketchat-0.0.3.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

cosmicray_rocketchat-0.0.3-py2.py3-none-any.whl (14.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cosmicray-rocketchat-0.0.3.tar.gz.

File metadata

File hashes

Hashes for cosmicray-rocketchat-0.0.3.tar.gz
Algorithm Hash digest
SHA256 b49af5c61105560150c0310b0dbb738dc5f49ce95b868e81b24d8fd6a9b11b67
MD5 7e88ccbbfd84f301c47e39f933392b40
BLAKE2b-256 02d629ec40b9bd366984529a0442da82fec3d1243d92cf9334ccf506fc58d2b6

See more details on using hashes here.

File details

Details for the file cosmicray_rocketchat-0.0.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for cosmicray_rocketchat-0.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ca96d1826bf82ae67cf5a18291986da497824e249e3d1c58a286465e50e27d61
MD5 b3ed8ebb835e54fd07d3a7b88e6936c5
BLAKE2b-256 6e6cf731c3b89bfab69802f95359ac14aa93c4eb233e068377796e96b80f8b4c

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