type=ActivityTypes.trace, value=f"{error}", value_type="https://www.botframework.com/schemas/error" ) # Send a trace activity, which will be displayed in Bot Framework Emulator await context.send_activity(trace_activity) ADAPTER.on_turn_error = on_error MEMORY_STORAGE = MemoryStorage() USER_STATE = UserState(MEMORY_STORAGE) CONVERSATION_STATE = ConversationState(MEMORY_STORAGE) TRANSLATOR = TranslatorM(CONFIG) TRANSLATOR_MIDDLEWARE = TranslatorMiddleware(TRANSLATOR, USER_STATE) ADAPTER.use(TRANSLATOR_MIDDLEWARE) BOT = TeamsQABot(CONFIG, USER_STATE, CONVERSATION_STATE) LOOP = asyncio.get_event_loop() app = Flask(__name__) @app.route("/api/messages", methods=["POST"]) def messages(): if "application/json" in request.headers["Content-Type"]: message_body = request.json else: return Response(status=HTTPStatus.UNSUPPORTED_MEDIA_TYPE) activity = Activity().deserialize(message_body) if "Authorization" in request.headers:
APP_ID = '' APP_PASSWORD = '' PORT = 9000 SETTINGS = BotFrameworkAdapterSettings(APP_ID, APP_PASSWORD) ADAPTER = BotFrameworkAdapter(SETTINGS) # Create MemoryStorage, UserState and ConversationState memory = MemoryStorage() # Commented out user_state because it's not being used. # user_state = UserState(memory) conversation_state = ConversationState(memory) # Register both State middleware on the adapter. # Commented out user_state because it's not being used. # ADAPTER.use(user_state) ADAPTER.use(conversation_state) # Methods to generate cards # Reads in json files, used to create adaptive cards def read_in_jsons(): with open ("fightercard.json", "rb") as file_in: fight_card_json = json.load(file_in) with open("ufc_237_fighters.json", "rb") as file_in: fighter_information = json.load(file_in) return fight_card_json, fighter_information # Returns list of json formatted adaptive cards for each fight_card_dicts # List also contains information used by create_menu_string(): def create_fightnight_cards(fight_card_json, fighter_information):
value_type="https://www.botframework.com/schemas/error") # Send a trace activity, which will be displayed in Bot Framework Emulator await context.send_activity(trace_activity) ADAPTER.on_turn_error = on_error # Create MemoryStorage and state MEMORY = MemoryStorage() USER_STATE = UserState(MEMORY) # Create translation middleware and add to adapter TRANSLATOR = MicrosoftTranslator(app.config["SUBSCRIPTION_KEY"], app.config["SUBSCRIPTION_REGION"]) TRANSLATION_MIDDLEWARE = TranslationMiddleware(TRANSLATOR, USER_STATE) ADAPTER.use(TRANSLATION_MIDDLEWARE) # Create Bot BOT = MultiLingualBot(USER_STATE) # Listen for incoming requests on /api/messages. @app.route("/api/messages", methods=["POST"]) def messages(): # Main bot message handler. if "application/json" in request.headers["Content-Type"]: body = request.json else: return Response(status=415) activity = Activity().deserialize(body)
ADAPTER.on_turn_error = on_error # Create MemoryStorage and state MEMORY = MemoryStorage() USER_STATE = UserState(MEMORY) CONVERSATION_STATE = ConversationState(MEMORY) # Create InspectionMiddleware INSPECTION_MIDDLEWARE = InspectionMiddleware( inspection_state=InspectionState(MEMORY), user_state=USER_STATE, conversation_state=CONVERSATION_STATE, credentials=MicrosoftAppCredentials(app_id=CONFIG.APP_ID, password=CONFIG.APP_PASSWORD), ) ADAPTER.use(INSPECTION_MIDDLEWARE) # Create Bot BOT = EchoBot(CONVERSATION_STATE, USER_STATE) # Listen for incoming requests on /api/messages. async def messages(req: Request) -> Response: # Main bot message handler. if "application/json" in req.headers["Content-Type"]: body = await req.json() else: return Response(status=415) activity = Activity().deserialize(body) auth_header = req.headers[
if context.activity.channel_id == "emulator": # Create a trace activity that contains the error object trace_activity = Activity( label="TurnError", name="on_turn_error Trace", timestamp=datetime.utcnow(), type=ActivityTypes.trace, value=f"{error}", value_type="https://www.botframework.com/schemas/error", ) # Send a trace activity, which will be displayed in Bot Framework Emulator await context.send_activity(trace_activity) ADAPTER.on_turn_error = on_error ADAPTER.use(ShowTypingMiddleware()) # Create the Bot BOT = MyBot() # Listen for incoming requests on /api/messages async def messages(req: Request) -> Response: # Main bot message handler. if "application/json" in req.headers["Content-Type"]: body = await req.json() else: return Response(status=415) activity = Activity().deserialize(body) auth_header = req.headers[
from flask import Flask, request, Response from botbuilder.schema import Activity from botbuilder.core import BotFrameworkAdapter, BotFrameworkAdapterSettings import asyncio from abot import ActivityBot from middleware1 import Middleware1 app = Flask(__name__) loop = asyncio.get_event_loop() ebot = ActivityBot() botadaptersettings = BotFrameworkAdapterSettings("", "") botadapter = BotFrameworkAdapter(botadaptersettings) botadapter.use(Middleware1()) @app.route("/api/messages", methods=["POST"]) def messages(): if "application/json" in request.headers["content-type"]: jsonmessage = request.json else: return Response(status=415) activity = Activity().deserialize(jsonmessage) async def turn_call(turn_context): await ebot.on_turn(turn_context) task = loop.create_task(
ConversationState, ) from botbuilder.core.integration import aiohttp_error_middleware from botbuilder.schema import Activity, ActivityTypes from bot import EchoBot from config import DefaultConfig from middleware import LoginMiddleware CONFIG = DefaultConfig() # Create adapter. # See https://aka.ms/about-bot-adapter to learn more about how bots work. SETTINGS = BotFrameworkAdapterSettings(CONFIG.APP_ID, CONFIG.APP_PASSWORD) ADAPTER = BotFrameworkAdapter(SETTINGS) ADAPTER.use(LoginMiddleware()) # Catch-all for errors. async def on_error(context: TurnContext, error: Exception): # This check writes out errors to console log .vs. app insights. # NOTE: In production environment, you should consider logging this to Azure # application insights. print(f"\n [on_turn_error] unhandled error: {error}", file=sys.stderr) traceback.print_exc() # Send a message to the user await context.send_activity("The bot encountered an error or bug.") await context.send_activity( "To continue to run this bot, please fix the bot source code.") # Send a trace activity if we're talking to the Bot Framework Emulator