1
0
mirror of https://github.com/serega404/VodokanalBot.git synced 2026-05-30 12:10:01 +03:00
Files
VodokanalBot/start_meshcore_ha.py
T

57 lines
1.4 KiB
Python

import os
from parser import create_session, publish_new_posts
PROXY_URL = os.environ.get('PROXY_URL', '')
HOME_ASSISTANT_URL = os.environ.get('HOME_ASSISTANT_URL', '')
HOME_ASSISTANT_WEBHOOK_ID = os.environ.get('HOME_ASSISTANT_WEBHOOK_ID', '')
HOME_ASSISTANT_WEBHOOK_CHANNEL = os.environ.get('HOME_ASSISTANT_WEBHOOK_CHANNEL', '0')
def create_webhook_url():
return (
HOME_ASSISTANT_URL.rstrip('/')
+ "/api/webhook/"
+ HOME_ASSISTANT_WEBHOOK_ID
)
def send_webhook_message(session, message):
req = session.get(
create_webhook_url(),
params={
'channel': HOME_ASSISTANT_WEBHOOK_CHANNEL,
'message': message,
},
)
if not 200 <= req.status_code < 300:
print("Home Assistant webhook request error: " + str(req.status_code))
exit()
else:
print("Home Assistant webhook message sent")
def main():
if HOME_ASSISTANT_URL == '':
print("Home Assistant URL is not set")
exit()
if HOME_ASSISTANT_WEBHOOK_ID == '':
print("Home Assistant webhook id is not set")
exit()
session = create_session(PROXY_URL)
try:
publish_new_posts(
send_message=lambda message: send_webhook_message(session, message),
session=session,
)
except RuntimeError as error:
print(error)
exit()
if __name__ == "__main__":
main()