only pay attention to memeber events if they involve the AS user id.
Should resolve issue #8
This commit is contained in:
parent
ea684e1462
commit
dfccd44b1d
1 changed files with 29 additions and 14 deletions
|
@ -108,21 +108,36 @@ def on_receive_events(transaction):
|
||||||
|
|
||||||
elif event['type'] == 'm.room.member':
|
elif event['type'] == 'm.room.member':
|
||||||
|
|
||||||
if event['content']['membership'] == 'invite' and event['content']['is_direct'] == True:
|
if event['state_key'] == app.config['MATRIX_AS_ID']:
|
||||||
logging.info('>> GOT INVITE')
|
|
||||||
txId += 1
|
|
||||||
url = app.config['MATRIX_HOST']
|
|
||||||
url += '/_matrix/client/r0/join/' + event['room_id']
|
|
||||||
url += "?access_token=" + app.config['MATRIX_AS_TOKEN']
|
|
||||||
r = requests.post(url, headers={"Content-Type": "application/json"}, data=json.dumps({}))
|
|
||||||
|
|
||||||
elif event['membership'] == 'leave':
|
if event['content']['membership'] == 'invite'
|
||||||
logging.info('>> GOT LEAVE')
|
and 'is_direct' in event['content']
|
||||||
txId += 1
|
and event['content']['is_direct'] == True:
|
||||||
url = app.config['MATRIX_HOST']
|
|
||||||
url += '/_matrix/client/r0/rooms/' + event['room_id'] + "/leave"
|
logging.info('>> GOT INVITE')
|
||||||
url += "?access_token=" + app.config['MATRIX_AS_TOKEN']
|
txId += 1
|
||||||
r = requests.post(url, headers={"Content-Type": "application/json"}, data=json.dumps({}))
|
url = app.config['MATRIX_HOST']
|
||||||
|
url += '/_matrix/client/r0/join/' + event['room_id']
|
||||||
|
url += "?access_token=" + app.config['MATRIX_AS_TOKEN']
|
||||||
|
r = requests.post(url, headers={"Content-Type": "application/json"},
|
||||||
|
data=json.dumps({}))
|
||||||
|
if r.status_code == 200:
|
||||||
|
addadminrm = MatrixAdminRooms(matrix_id=event['sender'], room_id=event['room_id'])
|
||||||
|
db.session.add(addadminrm)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
elif event['membership'] == 'leave':
|
||||||
|
logging.info('>> GOT LEAVE')
|
||||||
|
txId += 1
|
||||||
|
url = app.config['MATRIX_HOST']
|
||||||
|
url += '/_matrix/client/r0/rooms/' + event['room_id'] + "/leave"
|
||||||
|
url += "?access_token=" + app.config['MATRIX_AS_TOKEN']
|
||||||
|
r = requests.post(url, headers={"Content-Type": "application/json"},
|
||||||
|
data=json.dumps({}))
|
||||||
|
if r.status_code == 200:
|
||||||
|
adminrm = MatrixAdminRooms.query.filter_by(room_id=event['room_id']).first()
|
||||||
|
db.session.delete(adminrm)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
return jsonify({})
|
return jsonify({})
|
||||||
|
|
Loading…
Reference in a new issue