mirror of
https://github.com/serega404/VodokanalBot.git
synced 2026-05-30 12:10:01 +03:00
Добавил поддержку MeshCore через HA
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user