semvec/pypi-packages huggingface dataset:
Voicent-Python 1.0
Voicent Python Library
Keywords: voicent-python

======================
Voicent Python Library
======================

.. |badge1| image:: https://img.shields.io/badge/Maturity-Stable-green.png
    :target: https://pypi.org/classifiers/
    :alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/Licence-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/Github-Voicent-lightgray.png?logo=github
    :target: https://github.com/ursais/Voicent
    :alt: ursais/Voicent

|badge1| |badge2| |badge3|

The Voicent Python Simple Interface class contains the following functions:

.. code-block:: python

    callText
    callAudio
    callStatus
    callRemove
    callTillConfirm
    importCampaign
    runCampaign
    importAndRunCampaign
    checkStatus
    exportResult

These functions are used to invoke telephone calls from your Python program.
For example, callText is used to call a specified number and automatically play
your text message using text-to-speech engine.

In order for this class to work, you’ll need to have Voicent Gateway installed
somewhere in your network. This class simply sends HTTP request for telephone
calls to the gateway. Voicent has a free edition for the gateway.
You can download it from http://www.voicent.com.

More information can be found at: http://www.voicent.com/devnet/docs/pyapi.htm


**Table of contents**

.. contents::
   :local:

Installation
============

Install from PyPi using pip, a package manager for Python.

 pip install voicent-python

Don't have pip installed? Try installing it, by running this from the command line:

 $ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

Or, you can download the source code (ZIP) for voicent, and then run:

 python setup.py install

You may need to run the above commands with sudo.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/ursais/Voicent/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/ursais/Voicent/issues/new?body=Voicent%0Aversion:%202.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Credits
=======

Authors
~~~~~~~

* Voicent
* Open Source Integrators

Contributors
~~~~~~~~~~~~

* Voicent
* Maxime Chambreuil <mchambreuil@opensourceintegrators.com>

Maintainers
~~~~~~~~~~~

This module is maintained by Open Source Integrators.

.. image:: https://github.com/ursais.png
   :alt: Open Source Integrators
   :target: https://www.opensourceintegrators.com

Open Source Integrators™ (OSI) provides customers a unique combination of
open source business process consulting and implementations.

.. |maintainer-max3903| image:: https://github.com/max3903.png?size=40px
    :target: https://github.com/max3903
    :alt: max3903

Current maintainer:

|maintainer-max3903|

You are welcome to contribute. Please create an issue on Github to discuss how.
python-matrixbot 0.0.7
A basic bot for Matrix
Requires Python: ~=3.6
Keywords: bot botscript chat matrix

# python-matrixbot

A Python module meant to act as a base class for a [Matrix](https://matrix.org) bot.

## Compatibility

Python 3.6+

## Installation

    pip install python-matrixbot

## Usage

The MatrixBot class will connect to the Matrix server, start a listener on each joined
room, and listen for room invites from other users. It also includes helper methods you
can use to extend the functionality. It is built on the
[Matrix Python SDK](https://matrix-org.github.io/matrix-python-sdk/) which can be
directly accessed via `MatrixBot.client`

    from matrixbot import MatrixBot

    # create a new bot
    bot = MatrixBot(
        host="example.com",
        display_name="Example Bot",
        token=access_token,
        user_id="@bot:example.com"
    )
    # run forever
    bot.start()

### Get a list of joined rooms:

    room_ids = bot.rooms.keys()
    room_objects = bot.rooms.values()

### Leave abandoned 1-on-1 rooms

    for room in bot.rooms.values():
        bot.leave_if_empty(room)

### Cache results from external API calls

To prevent abuse of commands that rely on external API calls, MatrixBot includes a
very basic caching mechanism. Wrap all API calls in `MatrixBot.fetch()` to return
cached results and automatically refresh stale data.

    def get_url(url):
      return response.get(url)

    result = bot.fetch(
        "cache_key", lambda: get_url("https://example.com"), timeout=900
    )

By default the module uses an in-memory cache which is lost between restarts. To create
a persistent cache provide the constructor with the path to a sqlite database:

    bot = MatrixBot(
        ...
        cache_db="/path/to/sqlite_database"
    )

### Sub-classing
Create a subclass to extend and override default features

    class MyBot(MatrixBot):
        # override `process_message()` to filter/parse/react to room events:
        def process_message(self, room, event):
            # say hello when a user joins the room
            if event["type"] == "m.room.member":
                if event["content"]["membership"] == "join":
                    self.say(room, "Hello!", mention=event["sender"])

        # override `accept_invite()` to disable auto-join:
        def accept_invite(self, room_id):
            pass

    bot = MyBot(...)

## License

MIT

## Maintainer

Brian Ó <blacksam@gibberfish.org>

Contributions welcome.

## About Gibberfish

Gibberfish, Inc is a volunteer nonprofit that develops free tools to promote online
privacy for activists and regular people alike. If you like this module and decide to
use it in your project, please consider donating $1 to help keep us going. Thanks!

https://gibberfish.org/donate/