/Messenger_bot

learning roadmap, resources and examples for the Bot for messenger platform

Bot For Messenger Learning Map

This project contains resources and examples that would lead to a mastery of the Facebook Bot for Messenger platform. It's an aggregation of the learning efforts of the Facebook Developer Circle Lagos led by the bot ambassadors to provide a step by step introduction to the offerings of the platform.

** Note: ** The contents of this repo does not in any way represent Facebook's official documentation for the messenger platform neither does it serve to replace it.

Overview

Messenger bots, since their launch in April 2016, have grown to an exciting ecosystem featuring over 30,000 strong bots. Businesses, Developers have kept finding creative ways of building engaging user experiences on the platform. From productivity & utility through social good to gaming and entertainment, various aspects of the society have different offerings available on the messenger platform. To get a sense of activities on the platform, check out this list of over 1000 bot submissions for just concluded Middle East and Africa Bots for Messenger Challenge!

Although this learning map would focus on building automated experiences on the Facebook messenger platform, it also includes valuable knowledge that can be leveraged on other bot platforms. In particular, the sections on What bots are and How bots work are platform independent and very valuable.

Getting Started

The learning map expounded in this project is divided into three parts which (loosely) maps to various experience level with regards the messenger platform. This makes it easy to start up with any part you're most comfortable with.

  • Part 1: seeks to set a good tone for taking up the rest of the learning map. It discusses relevant first timer topics such as what bots are, how they work and makes a gently entry into the messenger bot platform offerings.

  • Part 2: starts up a dedicated focus on conversation and how to manage this on the messenger platform. It exposes various templates & features available for creating engaging user experience with your messenger bot; including why, how and when to use each of them.

  • Part 3: takes a more wholistic view of user interactions on the messenger platform. It includes discussions on how people can discover your bot and various thread settings that ensure a good first experience. It'll also explore several good practices to ensure great user interaction.

Note: Each part contains a resources.md file that contains link to other materials/resources for more information on the discussion in part of the learning map.

Hands on

This learning map, expectedly, would be spurred on more by practical learning opportunities. This would not only clarify (and concretize) the various bot discussions, but also set the stage to the thought processes required when designing and building out a bot.

To this end, we've setup an accompanying bot project that will be built out with the discussions contained in the learning map. You'll find each part of the learning map referencing (where applicable) various development stages of the bot project; and also the accompanying business thoughts and reasoning for why each feature (from the learning map) should be applied to the bot.

So from the first part to the last, while guiding you through the various learning content, the map will also include code snippets which you would work on to experience how a fictional business would build out and iterate on a bot project.

Setting up

Using the learning map requires no special configuration/setup. Github does a great job of rendering the markup contents in an easy to read fashion.

Following along with the accompanying bot project will require some familiarity with software programming. And yes, the accompanying code snippets will be easy to understand and will be well explained. However, they would assume prior understanding of basic programming paradigms.

Now to the question of programming language. The messenger platform itself is language agnostic as such the learning map tries to expend more effort in describing the implementation to enable achieving it with any language of your choice.

However, from our earlier poll, we'll have the accompanying code snippets available in Javascript and PHP. We'll also keep making efforts to have implementations in other languages, and in this, we welcome your contributions.

How to Use

You've got it, the learning map is the place to start.

  • Pick a topic (or start from the beginning).
  • Go through the related resources materials/discussions.
  • Check out accompanying code snippets (if any).
  • Have questions? Blockers? Create an issue and share the link to the issue on the DevC Facebook group.
  • Have fun!!!

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/FBDevCLagos/Messenger_bot. This project is intended to be a safe, welcoming space for collaboration.

  • Fork the repo.
  • Add your content.
  • Push to your fork and submit a pull request.

Licence

The learning map is available as open source under the terms of the MIT License.