/FacebookEventsBotExpanded

23.facebook-events including an example of Facebook handover protocol

Primary LanguageC#MIT LicenseMIT

Concepts introduced in this sample

This is a Fork of the 23.facebook-events sample and expanded to include Facebook Handover Protocol event handling, including passing thread control to a secondary bot.

This sample shows how to integrate and consume Facebook specific payloads, such as postbacks, quick replies, echos and optin events.

Since Bot Framework supports multiple Facebook pages for a single bot, we also show how to know the page to which the message was sent, so developers can have custom behavior per page.

Install .NET Core and CLI Tooling

  • .NET Core SDK version 2.1
     # determine dotnet version
     dotnet --version
  • If you don't have an Azure subscription, create a free account.
  • Install the latest version of the Azure CLI tool. Version 2.0.54 or higher.

To try this sample

  • In a terminal, navigate to 23.facebook-events

    # change into project folder
    cd 23.facebook-events
  • Run the bot from a terminal or from Visual Studio, choose option A or B.

    A) From a terminal

     # run the bot
     dotnet run

    B) Or from Visual Studio

    • Launch Visual Studio
    • File -> Open -> Project/Solution
    • Navigate to 23.facebook-events folder
    • Select Facebook-Events-Bot.csproj file
    • Press F5 to run the project

Testing the bot using Bot Framework Emulator

Bot Framework Emulator is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel.

  • Install the Bot Framework Emulator from here.

Connect to the bot using Bot Framework Emulator

  • Launch Bot Framework Emulator
  • File -> Open Bot
  • Enter a Bot URL of http://localhost:3978/api/messages

Enable Facebook Channel

The final step to test Facebook-specific features is to publish your bot for the Facebook channel. The Bot Framework makes this very easy, and the detailed steps are explained in the Bot Framework Channel Documentation.

Deploy the bot to Azure

To learn more about deploying a bot to Azure, see [Deploy your bot to Azure][https://aka.ms/azuredeployment] for a complete list of deployment instructions.

Further reading