twilio-org / rapid-response-kit Goto Github PK
View Code? Open in Web Editor NEWThis Twilio-powered Rapid Response Kit gives you the elements to build and deploy communications apps quickly and easily.
This Twilio-powered Rapid Response Kit gives you the elements to build and deploy communications apps quickly and easily.
I've tried installing with the Heroku button and through the Heroku CLI from a local copy, but I get this error and it fails to compile.
>
Python app detected
-----> Installing python-2.7.13
-----> Installing pip
-----> Installing requirements with pip
----------------------deleted successful requirement installs-------------------------
Running setup.py install for twilio: started
Running setup.py install for twilio: finished with status 'error'
Complete output from command /app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-gcj6ra/twilio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-aGfXnN-record/install-record.txt --single-version-externally-managed --compile:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-gcj6ra/twilio/setup.py", line 58, in <module>
License """ )
File "/app/.heroku/python/lib/python2.7/distutils/core.py", line 111, in setup
_setup_distribution = dist = klass(attrs)
File "/app/.heroku/python/lib/python2.7/site-packages/setuptools/dist.py", line 321, in __init__
_Distribution.__init__(self, attrs)
File "/app/.heroku/python/lib/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "/app/.heroku/python/lib/python2.7/site-packages/setuptools/dist.py", line 387, in finalize_options
ep.require(installer=self.fetch_build_egg)
File "/app/.heroku/python/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
items = working_set.resolve(reqs, env, installer, extras=self.extras)
File "/app/.heroku/python/lib/python2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (six 1.5.2 (/tmp/build_42e3afdd5bea3f3af5a97e37d966cd01/Twilio-org-rapid-response-kit-e8fe503/.heroku/python/lib/python2.7/site-packages), Requirement.parse('six>=1.6.0'))
----------------------------------------
Command "/app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-gcj6ra/twilio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-aGfXnN-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-gcj6ra/twilio/
! Push rejected, failed to compile Python app.
! Push failed
----->
It's unclear to me if this project can be set up to service any area or if it is limited by areas covered by Twilio (or some other service it integrates with).
For example, are docs such as these relevant?
I'm in a situation where I'm quickly evaluating tools to help islands in the Caribbean affected by hurricanes Irma and Jose, mainly Sint Maarten, and it's unclear from a scan of the docs if this is a tool that I can use in that area.
There is an existing Simple Menu function template that embeds the options in code. Would be slightly easier for non-tech users to at least pull the menu options out into an array which can be edited without looking at the code.
A common need for event organizers is to provide a hotline for attendees to call which will dial a list of organizers' phone numbers until one of them picks up. Create a Function which loads a list of comma separated phone numbers, in E.164 format, from an environment variable RINGDOWN_PHONE_NUMBERS
. When a call comes in, create TwiML which dials each number in the list until a call is connected. Provide a <Say>
fallback in the case no call is connected.
Maybe this should be a wiki article, but what is the recommended configuration inside heroku, or even locally, to control access to the RRKit in production?
A common need for organizations is to have a phone number (or numbers) set up to allow interested parties to subscribe for SMS notifications, and a way for organizers to broadcast to the entire group. With Twilio Notify, this becomes even simpler. Proposed template:
subscribe
- subscribe for notifications from administratorsbroadcast <message>
- send a message to all subscribersThe broadcast
command can only be used by a preconfigured list of administrator phone numbers. The list of numbers should be comma separated, E.164 formatted, and stored in an environment variable BROADCAST_ADMIN_NUMBERS
.
I miscopied the Twilio secret token when configuring the app and all I got was 500s with no additional information in the logs. It would be great to add a descriptive error message when this happens.
Just a minor nit. Love this app!
Hey!
I use the broadcast feature regularly and wondered if there is a cap on the number of numbers that can be used per-broadcast.
As the travis yaml definition states Python3 support is not there yet, lets ticket it.
This could be tiny, but it could be larger. I don't know yet
A frequent need for organizations doing field work is collecting data when using web or mobile apps is impractical or impossible, but mobile connectivity is still available. Create a Function template that will take a JavaScript object literal configured with survey questions, and sequentially take the user through completing the survey via IVR.
Persistence should be Twilio Sync or cookies as needed. Survey responses in Sync should minimally include the responses to any questions asked and a timestamp. Speech responses should store recording and transcriptions of the responses.
An example survey config object might look like:
const questions = [
{
question: 'Does anyone near you require medical attention?',
type: 'boolean'
},
{
question: 'How many people require medical attention?',
type: 'number'
},
{
question: 'Is there anything else first responders should be aware of?',
type: 'speech'
}
]
Additionally, it should be possible for administrators to visit a web page to visualize the results of the survey in tabular form, and play back recordings of voice responses. We should create an Asset HTML page which will use Sync to pull survey results and display them.
When using the survey module after adding parse api keys I get a Unable to update number. Do you have any more details on what that error is?
Dokku is a self-hosted heroku...
remote: App container failed to start!!
=====> rapidresponse web container output:
2017-07-26 19:19:23 [12] [INFO] Starting gunicorn 18.0
2017-07-26 19:19:23 [12] [INFO] Listening at: http://0.0.0.0:5000 (12)
2017-07-26 19:19:23 [12] [INFO] Using worker: sync
2017-07-26 19:19:23 [141] [INFO] Booting worker with pid: 141
2017-07-26 19:19:23 [141] [ERROR] Exception in worker process:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
worker.init_process()
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py", line 106, in init_process
self.wsgi = self.app.wsgi()
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 114, in wsgi
self.callable = self.load()
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 62, in load
return self.load_wsgiapp()
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp
return util.import_app(self.app_uri)
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 354, in import_app
__import__(module)
File "/app/rapid_response_kit/app.py", line 5, in <module>
from rapid_response_kit.tools import (
File "/app/rapid_response_kit/tools/volunteer_signup.py", line 4, in <module>
import gdata.docs.data
File "/app/.heroku/python/lib/python3.6/site-packages/gdata/__init__.py", line 27, in <module>
import atom
File "/app/.heroku/python/lib/python3.6/site-packages/atom/__init__.py", line 133, in <module>
CreateClassFromXMLString)
File "/app/.heroku/python/lib/python3.6/site-packages/atom/__init__.py", line 97, in mark_deprecated
optional_warn_function.func_name = f.func_name
AttributeError: 'function' object has no attribute 'func_name'
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
worker.init_process()
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py", line 106, in init_process
self.wsgi = self.app.wsgi()
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 114, in wsgi
self.callable = self.load()
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 62, in load
return self.load_wsgiapp()
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp
return util.import_app(self.app_uri)
File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 354, in import_app
__import__(module)
File "/app/rapid_response_kit/app.py", line 5, in <module>
from rapid_response_kit.tools import (
File "/app/rapid_response_kit/tools/volunteer_signup.py", line 4, in <module>
import gdata.docs.data
File "/app/.heroku/python/lib/python3.6/site-packages/gdata/__init__.py", line 27, in <module>
import atom
File "/app/.heroku/python/lib/python3.6/site-packages/atom/__init__.py", line 133, in <module>
CreateClassFromXMLString)
File "/app/.heroku/python/lib/python3.6/site-packages/atom/__init__.py", line 97, in mark_deprecated
optional_warn_function.func_name = f.func_name
AttributeError: 'function' object has no attribute 'func_name'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.