testing new celery task for auto notifications
This commit is contained in:
parent
fdef48041d
commit
5e5312fe74
|
@ -461,3 +461,8 @@ CORS_ORIGIN_WHITELIST = (
|
|||
'vector.im',
|
||||
'riot.im'
|
||||
)
|
||||
|
||||
MATRIX_USER=env('MATRIX_USERNAME')
|
||||
MATRIX_PASSWORD=env('MATRIX_PASSWORD')
|
||||
MATRIX_ROOM=env('MATRIX_ROOM')
|
||||
MSG_PREFIX = '[MH]'
|
||||
|
|
|
@ -51,3 +51,7 @@ GOCARDLESS_APP_ID=demo
|
|||
GOCARDLESS_APP_SECRET=demo
|
||||
GOCARDLESS_ACCESS_TOKEN=demo
|
||||
GOCARDLESS_MERCHANT_ID=demo
|
||||
|
||||
MATRIX_ROOM=fmCpNwqgIiuwATlcdw:matrix.org
|
||||
MATRIX_USERNAME=mhackspace
|
||||
MATRIX_PASSWORD=
|
||||
|
|
|
@ -11,6 +11,8 @@ from spirit.comment.models import Comment
|
|||
# from django.contrib.auth.models import User
|
||||
from django.core.mail import EmailMessage
|
||||
from django.db.models.signals import post_save
|
||||
from mhackspace.base.tasks import matrix_message
|
||||
|
||||
|
||||
class BannerImage(models.Model):
|
||||
url = models.URLField()
|
||||
|
@ -65,6 +67,7 @@ def send_topic_update_email(sender, instance, **kwargs):
|
|||
to=[user_email],
|
||||
headers={'Reply-To': 'no-reply@maidstone-hackspace.org.uk'})
|
||||
email.send()
|
||||
matrix_message.delay('[MH] %s' % instance.topic.title)
|
||||
|
||||
|
||||
post_save.connect(send_topic_update_email, sender=Comment)
|
||||
|
|
|
@ -1,7 +1,77 @@
|
|||
import requests
|
||||
from celery import shared_task
|
||||
from django.conf import settings
|
||||
from mhackspace.feeds.helper import import_feeds
|
||||
|
||||
|
||||
@shared_task
|
||||
def update_homepage_feeds():
|
||||
return import_feeds()
|
||||
|
||||
matrix_url = "https://matrix.org/_matrix/client/r0"
|
||||
matrix_login_url = matrix_url + "/login"
|
||||
matrix_join_room_alias_url = matrix_url + "/join/{room}?access_token={access_token}"
|
||||
matrix_join_room_id_url = matrix_url + "rooms/%21{room}/join?access_token={access_token}"
|
||||
matrix_send_msg_url = matrix_url + "/rooms/%21{room}/send/m.room.message?access_token={access_token}"
|
||||
|
||||
@shared_task
|
||||
def matrix_message(message):
|
||||
#login
|
||||
details = {
|
||||
"type":"m.login.password",
|
||||
"user":settings.MATRIX_USER,
|
||||
"password":settings.MATRIX_PASSWORD}
|
||||
r0 = requests.post(matrix_login_url, json = details)
|
||||
access_token = r0.json().get('access_token')
|
||||
|
||||
#join room by id
|
||||
url_params = {
|
||||
'room': settings.MATRIX_ROOM,
|
||||
'access_token': access_token}
|
||||
url = matrix_join_room_id_url.format(**url_params)
|
||||
r1 = requests.post(url)
|
||||
|
||||
#send message
|
||||
url_params = {
|
||||
"room": settings.MATRIX_ROOM,
|
||||
"access_token": access_token}
|
||||
url = matrix_send_msg_url.format(**url_params)
|
||||
details = {
|
||||
"msgtype":"m.text",
|
||||
"body":message}
|
||||
r2 = requests.post(url, json = details)
|
||||
return True
|
||||
|
||||
# url = "https://matrix.org/_matrix/client/r0/join/{room_alias}?access_token={access_token}".format(
|
||||
# **{'access_token': access_token,
|
||||
# 'room_alias': '#maidstone-hackspace:matrix.org'})
|
||||
# response = requests.post(url)
|
||||
|
||||
|
||||
# return import_feeds()
|
||||
# url = "https://matrix.org/_matrix/client/r0/rooms/%21{room}:matrix.org/join?access_token={access_token}".format(
|
||||
# **{'room': 'fmCpNwqgIiuwATlcdw',
|
||||
# 'access_token': access_token})
|
||||
# r = requests.get(url)
|
||||
# fmCpNwqgIiuwATlcdw:matrix.org
|
||||
|
||||
|
||||
#join room by id
|
||||
# url = "https://matrix.org/_matrix/client/r0/rooms/%21{room}/join?access_token={access_token}".format(
|
||||
# **{'room': 'fmCpNwqgIiuwATlcdw:matrix.org',
|
||||
# 'access_token': access_token})
|
||||
# response = requests.post(url)
|
||||
|
||||
|
||||
# url = "https://matrix.org/_matrix/client/r0/rooms/%21{room}/send/m.room.message?access_token={access_token}".format(
|
||||
# **{'room': 'fmCpNwqgIiuwATlcdw:matrix.org',
|
||||
# 'access_token': access_token})
|
||||
# details = {"msgtype":"m.text", "body":"poke from python"} #{"type":"m.login.password", "user":"oly", "password":""}
|
||||
# r = requests.post(url, json = details)
|
||||
# return r.json()
|
||||
|
||||
|
||||
# url = "https://matrix.org/_matrix/client/r0/rooms/%21{room}/join?access_token={access_token}".format(
|
||||
# **{'room': 'fmCpNwqgIiuwATlcdw:matrix.org',
|
||||
# 'access_token': access_token})
|
||||
# response = requests.post(url)
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
from django.conf import settings
|
||||
from django.db import models
|
||||
from django.utils import timezone
|
||||
from django.db.models.signals import post_save
|
||||
from mhackspace.base.tasks import matrix_message
|
||||
|
||||
|
||||
REQUEST_TYPES = (
|
||||
|
@ -40,3 +42,10 @@ class UserRequests(models.Model):
|
|||
|
||||
# class Meta:
|
||||
# ordering = ('created_date',)
|
||||
|
||||
|
||||
def send_topic_update_email(sender, instance, **kwargs):
|
||||
matrix_message.delay('[MH] New Request - %s' % instance.title)
|
||||
|
||||
|
||||
post_save.connect(send_topic_update_email, sender=UserRequests)
|
||||
|
|
Loading…
Reference in New Issue