Files
taro-bot-teams/commands/test.py
Björn Benouarets a1eca7baef init: Initial commit
2026-01-08 10:10:12 +01:00

43 lines
1.9 KiB
Python

from modules.database import DatabaseManager
from botbuilder.core import TurnContext, CardFactory, MessageFactory
from botbuilder.schema import Attachment, Activity, ActivityTypes, ConversationParameters
from aiohttp.web import Response, json_response
import json
from modules.template import TemplateEngine
class TestCommand:
def __init__(self, database: DatabaseManager):
self.database = database
async def handle_test(self, turn_context: TurnContext, message: str) -> 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_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_channel_id_str = "00000000-0000-0000-0000-000000000000"
# Load template and prepare data
template = TemplateEngine("card")
# Create and send the Adaptive Card
card_attachment = CardFactory.adaptive_card(template.generate({"card_type": "Test", "card_title": "Test", "card_content": message}))
# Send the attachment as a reply to the post in the channel
result = await turn_context.send_activity(MessageFactory.attachment(card_attachment))
except Exception as e:
import traceback
traceback.print_exc()
raise