refac: post webhook

This commit is contained in:
Timothy J. Baek 2024-03-20 18:47:13 -07:00
parent 2481e48a3a
commit fa65be2ad2
2 changed files with 12 additions and 2 deletions

View file

@ -159,6 +159,7 @@ async def signup(request: Request, form_data: SignupForm):
if request.app.state.WEBHOOK_URL: if request.app.state.WEBHOOK_URL:
post_webhook( post_webhook(
request.app.state.WEBHOOK_URL, request.app.state.WEBHOOK_URL,
WEBHOOK_MESSAGES.USER_SIGNUP(user.name),
{ {
"action": "signup", "action": "signup",
"message": WEBHOOK_MESSAGES.USER_SIGNUP(user.name), "message": WEBHOOK_MESSAGES.USER_SIGNUP(user.name),

View file

@ -1,9 +1,18 @@
import requests import requests
def post_webhook(url: str, json: dict) -> bool: def post_webhook(url: str, message: str, event_data: dict) -> bool:
try: try:
r = requests.post(url, json=json) payload = {}
if "https://hooks.slack.com" in url:
payload["text"] = message
elif "https://discord.com/api/webhooks" in url:
payload["content"] = message
else:
payload = {**event_data}
r = requests.post(url, json=payload)
r.raise_for_status() r.raise_for_status()
return True return True
except Exception as e: except Exception as e: