init: Initial commit

This commit is contained in:
Björn Benouarets
2026-01-14 08:54:04 +01:00
parent a1eca7baef
commit 44ea07000b
18 changed files with 170 additions and 217 deletions

View File

@@ -16,29 +16,23 @@ class WebhookCommand:
async def handle_list_webhooks(self, turn_context: TurnContext) -> None:
try:
activity = turn_context.activity
# conversation_reference = TurnContext.get_conversation_reference(turn_context.activity)
# Check if the channel is a Microsoft Teams channel (msteams) or emulator (for testing)
channel_id_str = activity.channel_id
channel_data = activity.channel_data
# channel_data is a dictionary, access it as such
teams_id = channel_data.get('teamsTeamId') if channel_data and isinstance(channel_data, dict) else None
microsoft_teams_id_str = channel_data.get('teamsTeamId') if channel_data and isinstance(channel_data, dict) else None
microsoft_channel_id_str = channel_data.get('teamsChannelId') if channel_data and isinstance(channel_data, dict) else None
if channel_id_str == "emulator":
teams_id = "00000000-0000-0000-0000-000000000000"
microsoft_teams_id_str = "00000000-0000-0000-0000-000000000000"
microsoft_channel_id_str = "00000000-0000-0000-0000-000000000000"
# Get the actual channel UUID from the database
channel_uuid = None
webhook_count = 0
if microsoft_channel_id_str:
try:
from uuid import UUID
# Try to get channel by Microsoft Teams channel ID
microsoft_channel_id = UUID(microsoft_channel_id_str) if isinstance(microsoft_channel_id_str, str) else microsoft_channel_id_str
channel_obj = self.database.get_channel_by_microsoft_channel_id(str(microsoft_channel_id))
if channel_obj:
@@ -47,14 +41,10 @@ class WebhookCommand:
except (ValueError, TypeError) as e:
webhook_count = 0
# Load template and prepare data
template = TemplateEngine("webhook-overview-card" if webhook_count > 0 else "webhook-overview-no-webhooks-card")
# Create and send the Adaptive Card
card_attachment = self.create_webhooks_card(template, {"webhook_count": webhook_count})
# Send the attachment as a reply to the post in the channel
result = await turn_context.send_activity(MessageFactory.attachment(card_attachment))
await turn_context.send_activity(MessageFactory.attachment(card_attachment))
return
except Exception as e:
import traceback
traceback.print_exc()