Ejemplo n.º 1
0
            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:
Ejemplo n.º 2
0
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):
Ejemplo n.º 3
0
            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)
Ejemplo n.º 4
0
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[
Ejemplo n.º 5
0
    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[
Ejemplo n.º 6
0
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(
Ejemplo n.º 7
0
    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