parent
eef6224007
commit
27fc81d700
1 changed files with 16 additions and 10 deletions
|
@ -2,9 +2,10 @@ import json
|
|||
import requests
|
||||
import logging
|
||||
import re
|
||||
import pnutpy
|
||||
|
||||
from bot import MonkeyBot
|
||||
from pnutlib import Pnut
|
||||
# from pnutlib import Pnut
|
||||
from flask import Flask, jsonify, request, abort
|
||||
from models import *
|
||||
|
||||
|
@ -93,9 +94,10 @@ def on_receive_events(transaction):
|
|||
requests.put(url, headers={"Content-Type": "application/json"}, data=json.dumps({}))
|
||||
else:
|
||||
if text:
|
||||
r = Pnut(token).channel_post(chan_id, text, embed)
|
||||
if r.status_code == 201:
|
||||
msgid = json.loads(r.text)['data']['id']
|
||||
pnutpy.api.add_authorization_token(token)
|
||||
try:
|
||||
msg, meta = pnutpy.api.create_message(chan_id, data={'text': text, 'raw': embed})
|
||||
|
||||
if token == app.config['MATRIX_PNUT_TOKEN']:
|
||||
puser = app.config['MATRIX_PNUT_USER']
|
||||
else:
|
||||
|
@ -105,12 +107,13 @@ def on_receive_events(transaction):
|
|||
cname = get_channel_settings(chan_id)['name']
|
||||
text = text[:-2]
|
||||
text += '\n\n[' + cname + "](https://patter.chat/room.html?channel=" + chan_id + ")"
|
||||
r = Pnut(token).post(text)
|
||||
r, meta = pnutpy.api.create_post(data={'text': text})
|
||||
|
||||
el = MatrixMsgEvents(event['event_id'], event['room_id'], msgid, puser, chan_id)
|
||||
el = MatrixMsgEvents(event['event_id'], event['room_id'], msg.id, puser, chan_id)
|
||||
db.session.add(el)
|
||||
db.session.commit()
|
||||
elif r.status_code == 401:
|
||||
|
||||
except pnutpy.errors.PnutAuthAPIException:
|
||||
txId += 1
|
||||
err_notice = event["user_id"] + ": The pnut.io channel this room is connected with is restricted to valid "
|
||||
err_notice += "pnut.io users only. Start a direct chat to link your account."
|
||||
|
@ -119,8 +122,10 @@ def on_receive_events(transaction):
|
|||
url += '/_matrix/client/r0/rooms/{0}/send/m.room.message/{1}'.format(event['room_id'], str(txId))
|
||||
url += "?access_token=" + app.config['MATRIX_AS_TOKEN']
|
||||
requests.put(url, headers={"Content-Type": "application/json"}, data=json.dumps(body))
|
||||
else:
|
||||
logging.debug(r.text)
|
||||
|
||||
except:
|
||||
logging.debug('*** an error occured while posting a message ***')
|
||||
|
||||
|
||||
elif event['type'] == 'm.room.redaction':
|
||||
r_event = MatrixMsgEvents.query.filter_by(event_id=event['redacts'],room_id=event['room_id']).first()
|
||||
|
@ -134,7 +139,8 @@ def on_receive_events(transaction):
|
|||
else:
|
||||
return jsonify({})
|
||||
|
||||
r = Pnut(token).delete_channel_post(r_event.pnut_chan, r_event.pnut_msgid)
|
||||
pnutpy.api.add_authorization_token(token)
|
||||
r, meta = pnutpy.api.delete_message(r_event.pnut_chan, r_event.pnut_msgid)
|
||||
|
||||
elif event['type'] == 'm.room.member':
|
||||
|
||||
|
|
Loading…
Reference in a new issue