diff --git a/config/settings/common.py b/config/settings/common.py index 7add0f3..5e2d8c7 100644 --- a/config/settings/common.py +++ b/config/settings/common.py @@ -496,12 +496,20 @@ CORS_ORIGIN_WHITELIST = ( 'riot.im' ) +# Matrix chat settings MATRIX_USER=env('MATRIX_USERNAME') MATRIX_PASSWORD=env('MATRIX_PASSWORD') MATRIX_ROOM=env('MATRIX_ROOM') MSG_PREFIX = 'MH' X_FRAME_OPTIONS = 'SAMEORIGIN' +#Twitter messageing settings +TWITTER_CONSUMER_KEY=env('TWITTER_CONSUMER_KEY') +TWITTER_CONSUMER_SECRET=env('TWITTER_CONSUMER_SECRET') +TWITTER_ACCESS_TOKEN=env('TWITTER_ACCESS_TOKEN') +TWITTER_ACCESS_SECRET=env('TWITTER_ACCESS_SECRET') + + AWS_S3_OBJECT_PARAMETERS = { 'CacheControl': 'max-age=86400', } diff --git a/env.example b/env.example index 70b45b5..ac15ae6 100644 --- a/env.example +++ b/env.example @@ -67,3 +67,9 @@ LDAP_DOMAIN=maidstone-hackspace.org.uk LDAP_ADMIN_PASSWORD=secret-ldap-password LDAP_SERVER=directory LDAP_ROOT=dc=maidstone-hackspace, dc=org, dc=uk + + +TWITTER_CONSUMER_KEY=example +TWITTER_CONSUMER_SECRET=example +TWITTER_ACCESS_TOKEN=example +TWITTER_ACCESS_SECRET=example diff --git a/mhackspace/base/tasks.py b/mhackspace/base/tasks.py index 8b6a040..73dd835 100644 --- a/mhackspace/base/tasks.py +++ b/mhackspace/base/tasks.py @@ -65,3 +65,19 @@ def matrix_message(message, prefix=''): except: pass return {'result', 'Matrix message sent successfully'} + + +@shared_task +def twitter_mesage(message, prefix=''): + import twitter + api = twitter.Api(consumer_key=[settings.TWITTER_CONSUMER_KEY], + consumer_secret=[settings.TWITTER_CONSUMER_SECRET], + access_token_key=[settings.TWITTER_ACCESS_TOKEN], + access_token_secret=[settings.TWITTER_ACCESS_SECRET]) + try: + status = api.PostUpdate(message) + return {'result', 'Twitter message sent successfully'} + except UnicodeDecodeError: + return {'result', "Your message could not be encoded. " + "Perhaps it contains non-ASCII characters? " + "Try explicitly specifying the encoding with the --encoding flag"} diff --git a/requirements/base.txt b/requirements/base.txt index 68300bc..d1b1c28 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -103,3 +103,4 @@ django-cors-headers python-magic ldap3 bcrypt==3.1.4 +python-twitter==3.4.1