From 28e2e4243cfcb3e79514804062566b09402dd536 Mon Sep 17 00:00:00 2001 From: Jadowyne Ulve Date: Tue, 10 Jun 2025 18:02:33 -0500 Subject: [PATCH] Moved to webhooks for discord and added discord avatars if linked to matter most user id --- .gitignore | 6 +- assets/images/owncast.jpg | Bin 0 -> 89370 bytes bridges.py | 116 +++++++++++++++++---------------- discordapp.py | 45 +++---------- mattermost.app.py | 40 ++++++++---- owncast.app.py | 12 ++++ test.json | 133 ++++++-------------------------------- 7 files changed, 129 insertions(+), 223 deletions(-) create mode 100644 assets/images/owncast.jpg create mode 100644 owncast.app.py diff --git a/.gitignore b/.gitignore index 2ada06e..2ae6f12 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ -generate_images/2025-06-08 150855867880-gen-PNG-ujZRQA.png -generate_images/test-gen-image.png +generate_images/* + +__pycache__/* + diff --git a/assets/images/owncast.jpg b/assets/images/owncast.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4dae1fdc5d0eb4468352d1f1e1e533f5218e4ce GIT binary patch literal 89370 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

N%|p(q|n-?hhq3-;Z8y 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%0AiW+7o8+Zq}M<=n$B=Lef%M_3M7D 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 ueF8}gQD6zA0: text += new_contents @@ -186,4 +161,31 @@ def send_misskey_to_mattermost(event, channel_id): 'override_icon_url': avatar_url }, 'message': note_content, - 'file_ids': file_ids}) \ No newline at end of file + 'file_ids': file_ids}) + + +owncast_webhook = "https://chat.treehousefullofstars.com/hooks/3o9tozzipi8e3rtkcns63pesfr" +def send_owncast_to_mattermost(event): + print(event) + data = event['eventData'] + type = event['type'] + post = False + text = "" + + if type == "STREAM_STARTED": + text = f"Stream Starting... {data['streamTitle']}\n" + post = True + elif type == "STREAM_STOPPED": + text = f"Stream Stopping..." + post = True + elif type == "STREAM_TITLE_UPDATED": + text = f"Stream title changed! We are now streaming... {data['streamTitle']}" + post = True + + if post: + payload = { + "text": text, + "username": f"{data['name']} - Stream", + "icon_url": "http://192.168.1.67:8086/logo" + } + requests.post(owncast_webhook, json=payload) \ No newline at end of file diff --git a/discordapp.py b/discordapp.py index 1389df0..b81282e 100644 --- a/discordapp.py +++ b/discordapp.py @@ -70,13 +70,14 @@ async def on_ready(): channels = { - 1125968295967850559: "our-comforter", #comforter - 954201387770736754: "lounge", #lounge - 1119502004721557554: "town-square", # kweh - 1367978276185964584: "misskey", #misskey - 1167176429797113926: "photos-from-another-star", #photos-from-another-star - 1119508652844404816: "bulletin-board", #bulletin-board - 955394194766192690: "photos-of-the-gang" #photos-of-the-gang + 1125968295967850559: ("our-comforter", 'final-fantasy-14'), #comforter + 954201387770736754: ("lounge", 'final-fantasy-14'), #lounge + 1119502004721557554: ("town-square", 'Treehousefullofstars'), # kweh + 1367978276185964584: ("misskey", 'Treehousefullofstars'), #misskey + 1167176429797113926: ("photos-from-another-star", 'final-fantasy-14'), #photos-from-another-star + 1119508652844404816: ("bulletin-board", 'Treehousefullofstars'), #bulletin-board + 955394194766192690: ("photos-of-the-gang", 'final-fantasy-14'), #photos-of-the-gang + 1381391455574167653: ("stream", 'Treehousefullofstars'), } @client.event @@ -104,36 +105,6 @@ async def send_custom_message(channel: discord.TextChannel, message, username, u await webhook.send(message, username=username, avatar_url=avatar_url) await webhook.delete() -# flask -app = flask.Flask(__name__) - -@app.route('/post_message', methods=['POST']) -async def post_message(): - data:dict = flask.request.json - message = data.get('message') - username = data.get('username', 'Unknown') - avatar_url = data.get('avatar_url', None) - user_id = data.get('discord_id', None) - print(data) - if message == "": - return flask.jsonify({'error': 'Message cannot be blank.'}), 400 - - channel = client.get_channel(data['channel_to']) - if channel: - client.loop.create_task(send_custom_message(channel, message, username, user_id, avatar_url)) - #client.loop.create_task(channel.send(message)) - return flask.jsonify({'status': 'Message sent successfully.'}), 200 - else: - return flask.jsonify({'error': 'Channel not found.'}), 404 - -def run_flask_app(): - app.run(port=5001) - -# Run the Flask app in a separate thread -thread = Thread(target=run_flask_app) -thread.start() - - token = "MTMyNzcxNDM3MTEyMzgxMDMwNA.GwLjEd.quGP0FA5gHRe1xLyuYq-ANuJ5cRuRQ6dhJiojI" client.run(token) diff --git a/mattermost.app.py b/mattermost.app.py index f4da98c..939c2b4 100644 --- a/mattermost.app.py +++ b/mattermost.app.py @@ -3,15 +3,23 @@ from mattermostdriver import Driver import bridges channels = { - "ibfp3fskai8adgmynbfispz3se": 1125968295967850559, #comforter - "rb43iupdy7rjbjwhg9w9c1mzjy": 954201387770736754, # lounge - "s6muherhotfoircc1yzmwr5wty": 1119502004721557554, # kweh - "fkcqa3qj83gu3bfikcu55sfwww": 1367978276185964584, #misskey - "na4doo5f83ykbc45m9a5dn513a": 1167176429797113926, #photos-from-another-star - "9ydcz9orepbtmedncb7idh43hr": 1119508652844404816, #bulletin-board - "81qmzfzeeif7mmfhpy7hkxnjuc": 955394194766192690 #photos-of-the-gang + "zc69ns9jwpbn7c3wkxdf6x8nto": 1125968295967850559, #comforter + "ap61bgmm63f8irths1gk91zowh": 954201387770736754, # lounge + #"s6muherhotfoircc1yzmwr5wty": 1119502004721557554, # kweh + "fkcqa3qj83gu3bfikcu55sfwww": 1367978276185964584 #misskey + #"na4doo5f83ykbc45m9a5dn513a": 1167176429797113926, #photos-from-another-star + #"9ydcz9orepbtmedncb7idh43hr": 1119508652844404816, #bulletin-board + #"81qmzfzeeif7mmfhpy7hkxnjuc": 955394194766192690, #photos-of-the-gang + #"u1ffegpqj3gg7yephh6rnso74o": 1381391455574167653 #stream } +webhooks = { + 1125968295967850559: "https://discord.com/api/webhooks/1153490247905189909/pm_cDa8XqsTIlAsZY1uUFmSSvDZKjaI8u30mjFzmvHcMhMQFirQcWbI9rEee4OFmLNnu", + 954201387770736754: "https://discord.com/api/webhooks/1127805939425235029/c4RvvRDUfDuE0-cvTzlPQPYbaTN6UdZzEPfLypOQCGSejax93Gh99E3_xgbCirrh4CqH" +} + +post_webhooks_exemptions = ["u1ffegpqj3gg7yephh6rnso74o", "fkcqa3qj83gu3bfikcu55sfwww"] + users = { "f3nja8t9fpy73cxeh5ykzrozaw": 407247496008433675, "3byr3scix3f78xs5bpmgqzc6pc": 189202462442389514, @@ -36,23 +44,31 @@ async def event_handler(event): if is_webhook != "true": # add file syncing means you need to get the "file_ids" key from the post and then download them into blobs and pass those along # to the request as files, on the discord side those files would then get attached to the webhook. - + discord_channel_id = channels[post['channel_id']] + print(discord_channel_id) user = mattermostDriver.users.get_user(user_id=post['user_id']) #print(user) post['user'] = user discord_id = None print("user:", user) + avatar_url = "" if user['id'] in users.keys(): - discord_id = users[post['user']['id']] + discord_user_id = users[post['user']['id']] + status, username, avatar_url = bridges.getDiscordUserProfile(discord_user_id) + post['user']['nickname'] = username + print(avatar_url) + post['discord_id'] = discord_id - bridges.send_mattermost_to_discord(post, channel_to=channels[post['channel_id']]) - elif post['channel_id'] == "fkcqa3qj83gu3bfikcu55sfwww" and is_webhook == "true": + print(webhooks[discord_channel_id]) + bridges.send_mattermost_to_discord(post, webhook_url=webhooks[discord_channel_id], avatar_url=avatar_url) + elif post['channel_id'] in post_webhooks_exemptions and is_webhook == "true": + print("exempt channel!") username = post['props']['override_username'] avatar_url = post['props']['override_icon_url'] user = {"nickname": username} post['user'] = user post['discord_id'] = None - bridges.send_mattermost_to_discord(post, channel_to=channels[post['channel_id']], avatar_url=avatar_url) + bridges.send_mattermost_to_discord(post, webhook_url=webhooks[discord_channel_id], avatar_url=avatar_url) mattermostDriver = Driver({ "url": "192.168.1.67", diff --git a/owncast.app.py b/owncast.app.py new file mode 100644 index 0000000..ce58cf3 --- /dev/null +++ b/owncast.app.py @@ -0,0 +1,12 @@ +import flask +import bridges + +app = flask.Flask(__name__) + +@app.route('/owncast_webhook', methods=['POST']) +async def post_message(): + bridges.send_owncast_to_mattermost(flask.request.get_json()) + return flask.Response(status=200) + + +app.run(host="0.0.0.0", port=5002, debug=True) \ No newline at end of file diff --git a/test.json b/test.json index fe93c47..492d2d3 100644 --- a/test.json +++ b/test.json @@ -1,117 +1,20 @@ { - "type": "channel", - "body": { - "id": "a79jhleyz47f00j9", - "type": "note", - "body": { - "id": "a8qi6tndcsjw00uj", - "createdAt": "2025-06-08T00:42:51.673Z", - "userId": "a78vufh1z47f000t", - "user": { - "id": "a78vufh1z47f000t", - "name": "Gabriella Versi", - "username": "gabriella", - "host": null, - "avatarUrl": "https://misskey.treehousefullofstars.com/proxy/avatar.webp?url=https%3A%2F%2Fmisskey.treehousefullofstars.com%2Ffiles%2F64e5e5cf-5d64-40f1-91ab-f7858f4b0e18&avatar=1", - "avatarBlurhash": "eOPZ7PRjpd%Mx]_Nxt?bs:xZ%gWCROWCM|%gWBRjofWXSPf5xtt7V@", - "avatarDecorations": [], - "isBot": false, - "isCat": false, - "emojis": {}, - "onlineStatus": "online", - "badgeRoles": [ - { - "name": "Roots", - "iconUrl": null, - "displayOrder": 0 - } - ] - }, - "text": null, - "cw": null, - "visibility": "public", - "localOnly": false, - "reactionAcceptance": null, - "renoteCount": 0, - "repliesCount": 0, - "reactionCount": 0, - "reactions": {}, - "reactionEmojis": {}, - "reactionAndUserPairCache": [], - "fileIds": [], - "files": [], - "replyId": null, - "renoteId": "a8ohrbj431al069k", - "clippedCount": 0, - "renote": { - "id": "a8ohrbj431al069k", - "createdAt": "2025-06-06T14:55:16.000Z", - "userId": "a7xcts4vcsjw00at", - "user": { - "id": "a7xcts4vcsjw00at", - "name": "Information Is Beautiful", - "username": "infobeautiful", - "host": "vis.social", - "avatarUrl": "https://misskey.treehousefullofstars.com/proxy/avatar.webp?url=https%3A%2F%2Fcdn.masto.host%2Fvissocial%2Faccounts%2Favatars%2F111%2F030%2F299%2F829%2F248%2F466%2Foriginal%2F0d4bfae30dce0763.png&avatar=1", - "avatarBlurhash": "e2CY]zxI9xx@=y$%juXSa{aeD,ou~UV|bayCj@ena#t7yCRowIxo01", - "avatarDecorations": [], - "isBot": false, - "isCat": false, - "instance": { - "name": "vis.social", - "softwareName": "mastodon", - "softwareVersion": "4.3.8", - "iconUrl": "https://vis.social/packs/media/icons/android-chrome-36x36-4c61fdb42936428af85afdbf8c6a45a8.png", - "faviconUrl": "https://vis.social/packs/media/icons/favicon-48x48-c1197e9664ee6476d2715a1c4293bf61.png", - "themeColor": "#181820" - }, - "emojis": {}, - "onlineStatus": "unknown" - }, - "text": "Some interesting variations here...\n(by reddit user theworldmaps)", - "cw": null, - "visibility": "public", - "localOnly": false, - "reactionAcceptance": null, - "renoteCount": 1, - "repliesCount": 1, - "reactionCount": 0, - "reactions": {}, - "reactionEmojis": {}, - "reactionAndUserPairCache": [], - "emojis": {}, - "fileIds": [ - "a8ohrh7e31al069j" - ], - "files": [ - { - "id": "a8ohrh7e31al069j", - "createdAt": "2025-06-06T14:55:23.354Z", - "name": "b1743c8a716cf03a.png", - "type": "image/png", - "md5": "8fa3149c3db0e0d11e7b0b0007cabeeb", - "size": 0, - "isSensitive": false, - "blurhash": "eHQuZ@WdUE+^XoghOkXlw1oxLzNrmSr{t1vgQ;ogXOWZu2r;bwpaaM", - "properties": { - "width": 853, - "height": 1024 - }, - "url": "https://misskey.treehousefullofstars.com/files/webpublic-1225bfbb-9837-44b0-b0ac-1ed14fa1df92", - "thumbnailUrl": "https://misskey.treehousefullofstars.com/proxy/static.webp?url=https%3A%2F%2Fcdn.masto.host%2Fvissocial%2Fmedia_attachments%2Ffiles%2F114%2F636%2F994%2F245%2F080%2F080%2Foriginal%2Fb1743c8a716cf03a.png&static=1", - "comment": "A map of Europe showing the mean age of women at the birth of their first child, categorized by color from yellow (age 25) to purple (age 33). Examples include: Moldova with the youngest average age at 25.1, and Monaco with the highest at 32.5. Other notable countries: Spain at 31.6, Italy at 31.7, Germany at 29.9, and Finland at 29.9. The map includes small flags and labeled figures for precision. Data for the UK is from 2018, and other countries are from 2021 or 2022.", - "folderId": null, - "folder": null, - "userId": "a7xcts4vcsjw00at", - "user": null - } - ], - "replyId": null, - "renoteId": null, - "uri": "https://vis.social/users/infobeautiful/statuses/114636994393755424", - "url": "https://vis.social/@infobeautiful/114636994393755424", - "clippedCount": 0 - } - } - } + "eventData": { + "id": "YiLYhFLNRz", + "name": "Treehouse Full of Stars", + "status": { + "lastConnectTime": "2025-06-08T21:16:13Z", + "lastDisconnectTime": null, + "versionNumber": "0.2.3", + "streamTitle": "Messing around before Maps, test! tt", + "viewerCount": 0, + "overallMaxViewerCount": 5, + "sessionMaxViewerCount": 0, + "online": false + }, + "streamTitle": "Messing around before Maps, test! tt", + "summary": "", + "timestamp": "2025-06-08T21:16:13.781690442Z" + }, + "type": "STREAM_STARTED" } \ No newline at end of file