itsimiro/microsoft-teams-botman-driver

Driver for Microsoft Teams Botman

dev-main 2021-12-23 20:50 UTC

This package is not auto-updated.

Last update: 2024-11-09 08:30:18 UTC


README

A basic guide to Botman.

Documentation

Changes

Interactive answers to questions now always come in an array.

/** @var array $value */
$value = $answer->getValue();

Added support for events.

  1. Conversation Update
  2. Installation Update
  3. Message Reaction
$bot->on(MicrosoftTeamsDriver::INSTALLATION_UPDATE_EVENT, function ($payload, BotMan $bot) {
    $bot->reply('Please type ```start``` to begin using the bot');
});

Cards

New power systems are now available that the standard driver does not support.

Hero Card

$message = (new HeroCardMessage())
    ->setTitle("Hi {$user->getFirstName()} I'm Bot")
    ->setText('Test text')
    ->addButton(TapAction::IM_BACK, 'Test', 'test');

Office365 Connector Card

$message = (new Office365ConnectorMessage())
    ->setTitle('Title')
    ->setSummary('Text')
    ->addSimpleSection('Section', 'Subtitle', 'Text');

Adaptive Card

You can create a form with inputs and buttons.

$message = (new FormMessageBuilder('Title'))
    ->addSeparateInput('first', 'first', 'first', 'second')
    ->addTextInput('email', 'Email', 'Enter your email')
    ->addSubmitButton('Submit')
    ->getMessage();

You can create any message by creating a new builder class.

List Card

$tapAction = new TapAction(TapAction::IM_BACK, "test {$item->getId()}", $item->getTitle());

$message = (new ListMessageBuilder())
    ->setTitle('List of items')
    ->addItem($item->getTitle(), $item->getDescription(), $item->getImageUrl(), $tapAction)
    ->addPrevButton($item->getPrevPage())
    ->getMessage();