All notable changes to this project will be documented in this file.
- Added the ability to pass arrays as command callables
- Group commands can now be chained - #599
- Skip and Stop conversation can be applied at groups - #600
- Fixed API.ai session management - #610
- Fixed React PHP version constraints
- Fixed an issue with the driver verification (this time for real).
- Fixed an issue with the driver verification.
- Added incoming message setText method
- BotMan
say
andask
methods now return Response objects.
- Added ability to cache message user information (#542)
- Added macro functionality to the Conversation method
- Added
getStoredConversationQuestion
method
- Fix incorrect 'conversation_cache_time' config path (#557)
- Fixed an issue where non-HTTP drivers were validated
- Use available drivers instead of configured ones for verification because of Slack events verification
- Drivers can have a method called
additionalDrivers
to simplify manual driver loading, when not using BotMan studio.
- Fixed matching middleware inside of conversations not receiving the manipulated
$message
object.
- Added ability to originate inline conversations.
- Moved each driver into their own repository.
- Facebook - Added support to send file and audio attachments.
- Telegram - Added support to send file, audio and location attachments.
- Added Kik driver.
- Added custom Attachment classes.
- Added support to listen for message service events.
- Changed the way middleware works in BotMan.
- Added support for Slack interactive menu messages.
- Added Facebook Referral driver.
- Allow replying to an existing thread for Slack drivers (#327).
- Added
loadDriver
method to BotMan. - Added ability to use BotMan with a local socket.
- Switched from plain text to JSON responses for Slack slash commands, to allow richer message formatting.
- Moved message matching into a separate
Matcher
class.
- Removed
FacebookPostbackDriver
,FacebookOptinDriver
andFacebookReferralDriver
in favor of the new event API.
Custom drivers now get loaded first.
Fix botframework not using shorthand closing tags (#345)
Fix error when originating MS Bot Framework messages - fixes (#324)
Fixed an issue with the SlackRTM driver in combination with regular file uploads (#323)
- Added unicode support
- Added support for Telegram voice messages
- Additional parameters for
say
,reply
andask
methods now recursively merge the parameters.
- Added
askForImages
,askForVideos
,askForAudio
,askForLocation
. - Added support for receiving images, videos, audio files and locations.
- Added
sendRequest
method to perform low-level driver API requests. - Allow regular expressions in API.ai middleware
- Added fake driver for testing
- Allow typing indicators for Slack RTM driver
- Cache API.ai calls
- Cache Wit.AI calls
- Added on-the-fly mini-conversations using
$botman->ask($question, Closure $next, $additionalParameters = [])
. - Added ability to either temporarily skip conversations or completely stop them using the
skipConversation
andstopConversation
methods on the conversation object. - Added a
ShouldQueue
interface that your Conversation classes should use if you want to store / serialize them in queues. - Added
filePath()
method to the Message class. (SlackRTM support only)
- FacebookDriver now returns user first + lastname
- Fixed a bug with Windows + cash file names (#200)
- Fixed a bug with fluent middleware syntax (#203)
- Fixed a bug with multiple middlewares (#209)
- Added methods to set typing indicators
$botman->types()
and$botman->typesAndWaits(2);
. - Added api.ai middleware.
- Added additional parameters to
$botman->say
method. - Added ability to load command-specific middleware:
$bot->hears('foo', function($bot){})->middleware(new TestMiddleware());
- Added ability to listen only on specific drivers or channels.
- Added
repeat()
method to conversation objects to repeat the last asked question. - [SlackDriver, SlackRTMDriver] added
replyInThread
method for Slacks new threaded messaging feature. - Added video message to Facebook, BotFramework and Telegram drivers.
- Added Facebook template support.
- Added
$botman->getUser()
method to retrieve general user information.
- Fixed an error that occured when responding to the Facebook driver with thumbs up.
- Fixed SlackRTM driver to respond using the RTM API (Fixes issues #99 and #67).
- Moved listening to Facebook Postback payloads into a separate driver (FacebookPostbackDriver) so it does not interfere with normal user text
- Correctly handle Skype group chats #128
- Telegram - Fixed empty button callback payload #138
- Telegram - Fixed questions not working when the message type is an entity (url, email, etc) #139
- The MiddlewareInterface now uses the DriverInterface instead of the abstract Driver class
- Removed ability to only listen to direct messages / public channels as this was a relic of the old
slackbot
package.
- Added WeChat messaging driver.
- Added BotMan state methods to store user, channel or driver related data.
$botman->userStorage()
$botman->channelStorage()
$botman->driverStorage()
- Forced opis/closure
$this
scope serialization.
- Added support for Slack slash commands. Just hear for the complete slash command
$bot->hears('/command foo', ...
.
- Fixed an error when trying to originate a message using a specific driver name (Issue #70).
- Added support for Microsoft Bot Framework Web Chat
- Added the
SlackRTMDriver
to make use of the Slack Realtime API. - Added a new
Message
class to compose messages with images. - Image support is available for these drivers:
- Telegram
- Slack
- Microsoft Bot Framework
- Middleware classes now receive a third parameter
$regexMatched
inside theisMessageMatching
method. You can use this method to determine if the regular expression was also matched, in case you do not want to replace the completehears
logic, but only add custom logic to it. Note: This will require you to modify your custom middleware classes.
- Fixed a bug where middleware
isMessageMatching
offalse
would still match the message.
- The
hears
method can now handleClassName@method
syntax.
- Fixed a bug in combination with middleware classes and regular expression matches
- Added
send
method to BotMan, to allow originating messages
- The
hears
regular expression now checks for the start of the string botman#52
- Initial release