|
|
|
|
@ -12,6 +12,8 @@ import requests |
|
|
|
|
from tournaments.services.email_service import TournamentEmailService |
|
|
|
|
from tournaments.models import PlayerDataSource |
|
|
|
|
|
|
|
|
|
from shared.discord import send_discord_log_message, send_discord_failed_calls_message |
|
|
|
|
|
|
|
|
|
def generate_unique_code(): |
|
|
|
|
characters = string.ascii_lowercase + string.digits |
|
|
|
|
while True: |
|
|
|
|
@ -25,39 +27,37 @@ def assign_unique_code(sender, instance, created, **kwargs): |
|
|
|
|
instance.broadcast_code = generate_unique_code() |
|
|
|
|
instance.save() |
|
|
|
|
|
|
|
|
|
DISCORD_FAILED_CALLS_WEBHOOK_URL = 'https://discord.com/api/webhooks/1248191778134163486/sSoTL6cULCElWr2YFwyllsg7IXxHcCx_YMDJA_cUHtVUU4WOfN-5M7drCJuwNBBfAk9a' |
|
|
|
|
DISCORD_LOGS_WEBHOOK_URL = 'https://discord.com/api/webhooks/1257987637449588736/TtOUwzYgSlQH2d3Ps7SfIKRcFALQVa3hfkC-j9K4_UAcWtsfiw4v8NUPbnX2_ZPOYzuv' |
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=FailedApiCall) |
|
|
|
|
def notify_discord_on_create(sender, instance, created, **kwargs): |
|
|
|
|
notify_object_creation_on_discord(created, instance, DISCORD_FAILED_CALLS_WEBHOOK_URL) |
|
|
|
|
|
|
|
|
|
# @receiver(post_save, sender=CustomUser) |
|
|
|
|
# def notify_user_creation_on_discord(sender, instance, created, **kwargs): |
|
|
|
|
# notify_object_creation_on_discord(created, instance, DISCORD_LOGS_WEBHOOK_URL) |
|
|
|
|
notify_object_creation_on_discord(created, instance) |
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=Log) |
|
|
|
|
def notify_log_creation_on_discord(sender, instance, created, **kwargs): |
|
|
|
|
notify_object_creation_on_discord(created, instance, DISCORD_LOGS_WEBHOOK_URL) |
|
|
|
|
notify_object_creation_on_discord(created, instance) |
|
|
|
|
|
|
|
|
|
# WARNING: using this method requires the instance to have a discord_string method |
|
|
|
|
def notify_object_creation_on_discord(created, instance, webhook_url): |
|
|
|
|
def notify_object_creation_on_discord(created, instance): |
|
|
|
|
if created: |
|
|
|
|
default_db_engine = settings.DATABASES['default']['ENGINE'] |
|
|
|
|
if default_db_engine != 'django.db.backends.sqlite3': |
|
|
|
|
site_name = settings.SITE_NAME |
|
|
|
|
message = f'{site_name} > New {instance.__class__.__name__} created: {instance.discord_string()}' |
|
|
|
|
send_discord_message(webhook_url, message) |
|
|
|
|
|
|
|
|
|
def send_discord_message(webhook_url, content): |
|
|
|
|
data = { |
|
|
|
|
"content": content |
|
|
|
|
} |
|
|
|
|
requests.post(webhook_url, json=data) |
|
|
|
|
# if response.status_code != 204: |
|
|
|
|
# raise ValueError( |
|
|
|
|
# f'Error sending message to Discord webhook: {response.status_code}, {response.text}' |
|
|
|
|
# ) |
|
|
|
|
if isinstance(instance, FailedApiCall): |
|
|
|
|
send_discord_failed_calls_message(message) |
|
|
|
|
else: |
|
|
|
|
send_discord_log_message(message) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# def send_discord_message(webhook_url, content): |
|
|
|
|
# data = { |
|
|
|
|
# "content": content |
|
|
|
|
# } |
|
|
|
|
# requests.post(webhook_url, json=data) |
|
|
|
|
# # if response.status_code != 204: |
|
|
|
|
# # raise ValueError( |
|
|
|
|
# # f'Error sending message to Discord webhook: {response.status_code}, {response.text}' |
|
|
|
|
# # ) |
|
|
|
|
|
|
|
|
|
@receiver(pre_delete, sender=TeamRegistration) |
|
|
|
|
def unregister_team(sender, instance, **kwargs): |
|
|
|
|
|