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:
post_webhook(
request.app.state.WEBHOOK_URL,
WEBHOOK_MESSAGES.USER_SIGNUP(user.name),
{
"action": "signup",
"message": WEBHOOK_MESSAGES.USER_SIGNUP(user.name),

View File

@ -1,9 +1,18 @@
import requests
def post_webhook(url: str, json: dict) -> bool:
def post_webhook(url: str, message: str, event_data: dict) -> bool:
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()
return True
except Exception as e: