Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Mariatta/enhanced-coc-hotline
Enhanced Code of Conduct Hotline
https://github.com/Mariatta/enhanced-coc-hotline
Last synced: 13 days ago
JSON representation
Enhanced Code of Conduct Hotline
- Host: GitHub
- URL: https://github.com/Mariatta/enhanced-coc-hotline
- Owner: Mariatta
- License: gpl-3.0
- Created: 2018-10-26T23:22:40.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-11-04T17:47:13.000Z (16 days ago)
- Last Synced: 2024-11-04T18:37:58.491Z (16 days ago)
- Language: Python
- Size: 62.5 KB
- Stars: 3
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: readme.rst
- License: LICENSE
Awesome Lists containing this project
README
Enhanced CoC Hotline
====================.. image:: https://img.shields.io/travis/com/Mariatta/enhanced-coc-hotline/master.svg
:target: https://travis-ci.com/Mariatta/enhanced-coc-hotline
.. image:: https://codecov.io/gh/mariatta/enhanced-coc-hotline/branch/master/graph/badge.svg
:target: https://codecov.io/gh/mariatta/enhanced-coc-hotline
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/ambv/black.. image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg
:target: https://saythanks.io/to/MariattaThis is an enhanced version of the `PyCascades Code of Conduct Hotline
`_.This hotline uses `Nexmo Voice API `_ +
`Zapier `_ integration.Purpose
-------When a caller calls the hotline, it will dial each of the PyCascades
Code of Conduct committee members, and the caller will be connected to the first person who answered.Calls to the hotline can be (optionally) automatically recorded. By default, calls are not recorded.
To autorecord, set both the ``AUTO_RECORD`` and ``ZAPIER_CATCH_HOOK_RECORDING_URL`` environment variables.For additional details of how to set up the hotline, please read my `Nexmo Developer Spotlight `_
tutorial, posted November 15, 2018.Requirements
------------Python 3.6.5+ because of f-strings. In reality, Python 3.7 is used (as specified in runtime.txt).
Library Dependencies
--------------------- aiohttp
- nexmo
- clickDeployment
----------|Deploy|
.. |Deploy| image:: https://www.herokucdn.com/deploy/button.svg
:target: https://heroku.com/deploy?template=https://github.com/mariatta/enhanced-coc-hotlineIn Heroku, set the environment variables:
- ``NEXMO_API_KEY``: The Nexmo API Key
- ``NEXMO_API_SECRET``: The Nexmo API Key Secret
- ``NEXMO_APP_ID``: The Nexmo App ID
- ``NEXMO_PRIVATE_KEY_VOICE_APP``: The path to the Nexmo App's private key (private.key file).
It looks like the following:
``----- BEGIN PRIVATE KEY ---- blablahblah ---- END PRIVATE KEY ----``- ``PHONE_NUMBERS``: A list of staff name and phone number dictionaries.
Example::
[{"name": "Mariatta", "phone": "16040000000"}, {"name": "Miss Islington", "phone": "1778111111"}]- ``AUTO_RECORD``: set to ``True`` if you want to autorecord incoming calls. This is optional, and will default to ``False`` if not set.
- ``ZAPIER_CATCH_HOOK_RECORDING_URL``: The `Webhooks By Zapier `_ url.
This is only needed if ``AUTO_RECORD`` is ``True``.- ``HOTLINE_DESC``: the description of this Hotline. For example: ``PyCascades Code of Conduct Hotline``
or ``PyCascades Head Office``.Downloading the recording
-------------------------Requires click 7.0+
Set the environment variables:
- ``NEXMO_APP_ID``: The Nexmo App ID
- ``NEXMO_PRIVATE_KEY_VOICE_APP``: The content of the private key (from private.key file).
It looks like the following:
```----- BEGIN PRIVATE KEY ---- blablahblah ---- END PRIVATE KEY ----```In the `enhanced-coc-hotline` directory, run::
$ python3 -m download_recording url1 url2 url3 ...
License
-------GNU General Public License v3.0.