diff --git a/deploy/templates/app/intbot.env.example b/deploy/templates/app/intbot.env.example index 1aadd3d..5904ea9 100644 --- a/deploy/templates/app/intbot.env.example +++ b/deploy/templates/app/intbot.env.example @@ -28,6 +28,16 @@ DISCORD_HELPDESK_CHANNEL_ID="DISCORD_HELPDESK_CHANNEL_ID" DISCORD_HELPDESK_CHANNEL_NAME="DISCORD_HELPDESK_CHANNEL_NAME" DISCORD_BILLING_CHANNEL_ID="DISCORD_BILLING_CHANNEL_ID" DISCORD_BILLING_CHANNEL_NAME="DISCORD_BILLING_CHANNEL_NAME" +DISCORD_BILLING_CHANNEL_ID="DISCORD_BILLING_CHANNEL_ID" +DISCORD_BILLING_CHANNEL_NAME="DISCORD_BILLING_CHANNEL_NAME" +DISCORD_PROGRAMME_CHANNEL_ID="DISCORD_PROGRAMME_CHANNEL_ID" +DISCORD_PROGRAMME_CHANNEL_NAME="DISCORD_PROGRAMME_CHANNEL_NAME" +DISCORD_FINAID_CHANNEL_ID="DISCORD_FINAID_CHANNEL_ID" +DISCORD_FINAID_CHANNEL_NAME="DISCORD_FINAID_CHANNEL_NAME" +DISCORD_SPONSORS_CHANNEL_ID="DISCORD_SPONSORS_CHANNEL_ID" +DISCORD_SPONSORS_CHANNEL_NAME="DISCORD_SPONSORS_CHANNEL_NAME" +DISCORD_GRANTS_CHANNEL_ID="DISCORD_GRANTS_CHANNEL_ID" +DISCORD_GRANTS_CHANNEL_NAME="DISCORD_GRANTS_CHANNEL_NAME" # Webhooks WEBHOOK_INTERNAL_TOKEN="asdf" @@ -44,3 +54,7 @@ GITHUB_EM_PROJECT_ID="GITHUB_EM_PROJECT_ID" ZAMMAD_WEBHOOK_SECRET_TOKEN="zammad-shared-secret-goes-here" ZAMMAD_GROUP_BILLING="zammad-billing-group-name-goes-here" ZAMMAD_GROUP_HELPDESK="zammad-helpdesk-group-name-goes-here" +ZAMMAD_GROUP_PROGRAMME="zammad-programme-group-name-goes-here" +ZAMMAD_GROUP_FINAID="zammad-finaid-group-name-goes-here" +ZAMMAD_GROUP_SPONSORS="zammad-sponsors-group-name-goes-here" +ZAMMAD_GROUP_GRANTS="zammad-grants-group-name-goes-here" diff --git a/intbot/core/bot/channel_router.py b/intbot/core/bot/channel_router.py index 3f740ce..be00b10 100644 --- a/intbot/core/bot/channel_router.py +++ b/intbot/core/bot/channel_router.py @@ -60,6 +60,22 @@ class Channels: channel_id=settings.DISCORD_HELPDESK_CHANNEL_ID, channel_name=settings.DISCORD_HELPDESK_CHANNEL_NAME, ) + programme_channel = DiscordChannel( + channel_id=settings.DISCORD_PROGRAMME_CHANNEL_ID, + channel_name=settings.DISCORD_PROGRAMME_CHANNEL_NAME, + ) + finaid_channel = DiscordChannel( + channel_id=settings.DISCORD_FINAID_CHANNEL_ID, + channel_name=settings.DISCORD_FINAID_CHANNEL_NAME, + ) + sponsors_channel = DiscordChannel( + channel_id=settings.DISCORD_SPONSORS_CHANNEL_ID, + channel_name=settings.DISCORD_SPONSORS_CHANNEL_NAME, + ) + grants_channel = DiscordChannel( + channel_id=settings.DISCORD_GRANTS_CHANNEL_ID, + channel_name=settings.DISCORD_GRANTS_CHANNEL_NAME, + ) def discord_channel_router(wh: Webhook) -> DiscordChannel: @@ -110,6 +126,10 @@ def zammad_router(wh: Webhook) -> DiscordChannel: groups = { ZammadConfig.helpdesk_group: Channels.helpdesk_channel, ZammadConfig.billing_group: Channels.billing_channel, + ZammadConfig.programme_group: Channels.programme_channel, + ZammadConfig.finaid_group: Channels.finaid_channel, + ZammadConfig.sponsors_group: Channels.sponsors_channel, + ZammadConfig.grants_group: Channels.grants_channel, } if channel := groups.get(wh.extra["group"]): diff --git a/intbot/core/integrations/zammad.py b/intbot/core/integrations/zammad.py index 074f263..2678f19 100644 --- a/intbot/core/integrations/zammad.py +++ b/intbot/core/integrations/zammad.py @@ -9,6 +9,10 @@ class ZammadConfig: url = settings.ZAMMAD_URL # servicedesk.europython.eu billing_group = settings.ZAMMAD_GROUP_BILLING helpdesk_group = settings.ZAMMAD_GROUP_HELPDESK + programme_group = settings.ZAMMAD_GROUP_PROGRAMME + finaid_group = settings.ZAMMAD_GROUP_FINAID + sponsors_group = settings.ZAMMAD_GROUP_SPONSORS + grants_group = settings.ZAMMAD_GROUP_GRANTS class ZammadGroup(BaseModel): id: int diff --git a/intbot/intbot/settings.py b/intbot/intbot/settings.py index 3a102e6..c2ea712 100644 --- a/intbot/intbot/settings.py +++ b/intbot/intbot/settings.py @@ -163,6 +163,14 @@ def get(name) -> str: DISCORD_HELPDESK_CHANNEL_NAME = get("DISCORD_HELPDESK_CHANNEL_NAME") DISCORD_BILLING_CHANNEL_ID = get("DISCORD_BILLING_CHANNEL_ID") DISCORD_BILLING_CHANNEL_NAME = get("DISCORD_BILLING_CHANNEL_NAME") +DISCORD_PROGRAMME_CHANNEL_ID = get("DISCORD_PROGRAMME_CHANNEL_ID") +DISCORD_PROGRAMME_CHANNEL_NAME = get("DISCORD_PROGRAMME_CHANNEL_NAME") +DISCORD_FINAID_CHANNEL_ID = get("DISCORD_FINAID_CHANNEL_ID") +DISCORD_FINAID_CHANNEL_NAME = get("DISCORD_FINAID_CHANNEL_NAME") +DISCORD_SPONSORS_CHANNEL_ID = get("DISCORD_SPONSORS_CHANNEL_ID") +DISCORD_SPONSORS_CHANNEL_NAME = get("DISCORD_SPONSORS_CHANNEL_NAME") +DISCORD_GRANTS_CHANNEL_ID = get("DISCORD_GRANTS_CHANNEL_ID") +DISCORD_GRANTS_CHANNEL_NAME = get("DISCORD_GRANTS_CHANNEL_NAME") # Github GITHUB_API_TOKEN = get("GITHUB_API_TOKEN") @@ -178,6 +186,10 @@ def get(name) -> str: ZAMMAD_URL = "servicedesk.europython.eu" ZAMMAD_GROUP_BILLING = get("ZAMMAD_GROUP_BILLING") ZAMMAD_GROUP_HELPDESK = get("ZAMMAD_GROUP_HELPDESK") +ZAMMAD_GROUP_PROGRAMME = get("ZAMMAD_GROUP_PROGRAMME") +ZAMMAD_GROUP_FINAID = get("ZAMMAD_GROUP_FINAID") +ZAMMAD_GROUP_SPONSORS = get("ZAMMAD_GROUP_SPONSORS") +ZAMMAD_GROUP_GRANTS = get("ZAMMAD_GROUP_GRANTS")