Giter VIP home page Giter VIP logo

msbotbuilder-go's Introduction

Microsoft Bot Framework SDK for Go

Build Status GoDoc

This repository is the Go version of the Microsoft Bot Framework SDK. It facilitates developers to build bot applications using the Go language.

Installing

$ go get -u github.com/infracloudio/msbotbuilder-go/...

Get started with example

The samples contains a sample bot created using this library which echoes any message received.

Before running this, two environment variables are needed viz. the Bot Framework application ID and the password. This can be received after registration of a new bot.

$ export APP_ID=MICROSOFT_APP_ID
$ export APP_PASSWORD=MICROSOFT_APP_PASSWORD

Then, from the root of this repository,

$ cd samples/echobot
$ go run main.go

This starts a webserver on port 3978 by default.

This is the endpoint which the connector service for the registered bot should point to. For a descriptive understanding of the example refer the sample.

Contributing

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Discussing the current state of the code
  • Submitting a fix
  • Proposing new features

Credits

This project is highly inspired from the official Microsoft Bot Framework SDK - https://github.com/microsoft/botbuilder-python.

We have borrowed most of the design principles from the official Python SDKs.

msbotbuilder-go's People

Contributors

bmorton avatar pkosiec avatar prasadg193 avatar sahil-lakhwani avatar sbawaskar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

msbotbuilder-go's Issues

Add support for dialog flows

Currently, msbotbuilder-go sdk supports stateless responses only. SDKs should support dialog flows to build contextual conversations

Scope settings

I am trying out this sdk and for some reasons I am not able to do @bot-name in channel or group chat.
Does this support the three conversation scopes of teams and how can I specify scope as done in the python sdk (https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/python/46.teams-auth/teams_app_manifest/manifest.json#L26)

channel This conversation type is visible to all members of the channel.
personal This conversation type includes conversations between bots and a single user.
groupChat This conversation type includes chat between a bot and two or more users. It also enables your bot in meeting chats.

Send Message

Hello, can send message, don't using handle?
and i cant send a image, don't work this schema.

		attachments := []schema.Attachment{
			{
				
				ContentType: "image/png",
				Name: "architecture-resize.png",
				ContentURL: "data:image/png;base64,{" + imgBase64Str +"}",
			},
		}

p.s I'm sorry for my English, but I'm from Russia)

Cache JWK document

To verify the Bearer token's sugnature in a request, the SDK fetches a JWK document from BotFramework.
Because this is done for each request, the overall time taken for a single request is considerably high.

Change in JWK document is not often, so the document can be cached

Cant use the package without error while "finding module for package"

Command to reproduce: go mod tidy or go mod vendor

go: github.com/my-app/api imports
 github.com/infracloudio/msbotbuilder-go: module github.com/infracloudio/msbotbuilder-go@latest found (v0.2.5), but does not contain package github.com/infracloudio/msbotbuilder-go

import statement: msbot "github.com/infracloudio/msbotbuilder-go"

go.mod: github.com/infracloudio/msbotbuilder-go v0.2.5 // indirect

Failed to parse request. Authentication failed.: Token is not valid yet

When running the echo sample, I am getting an error:

Failed to parse request. Authentication failed.: Token is not valid yet

This happens when I use go run. When I am attaching a debugger and add a break point on

activity, err := ht.Adapter.ParseRequest(ctx, req)

then it works as expected. Seems like a race condition is preventing the authentication. This happens on go1.13.4 windows/amd64. I am sure that AppID and AppPassword are correct.

Add CI build

We should add following checks in the CI

  • build
  • gofmt
  • golint
  • govet

Just running install fails?

$ go get -u github.com/infracloudio/msbotbuilder-go/...

github.com/infracloudio/msbotbuilder-go/connector/auth

..\go\src\github.com\infracloudio\msbotbuilder-go\connector\auth\jwt_token_validation.go:111:4: not enough arguments to return
..\go\src\github.com\infracloudio\msbotbuilder-go\connector\auth\jwt_token_validation.go:111:17: key[0].Materialize undefined (type jwk.Key has no field or method Materialize)

Not sure why these errors?

404 Not Found

I have the sample echobot running with app ID and password. I have ngrok running on the same port. When I type into the web chat nothing returns but the terminal I have ngrok running in shows 404s:

image

What could be the problem?

echobot example has problems

I ran near-unchanged (changed port to 8080) echobot from samples directory and got nil panic:

Starting server on port:8080...
2022/10/05 19:38:27 http: panic serving 10.100.199.14:11078: runtime error: invalid memory address or nil pointer dereference
goroutine 18 [running]:
net/http.(*conn).serve.func1()
	/usr/lib/go-1.18/src/net/http/server.go:1825 +0xbf
panic({0x6e4640, 0x962d50})
	/usr/lib/go-1.18/src/runtime/panic.go:844 +0x258
github.com/infracloudio/msbotbuilder-go/connector/client.(*ConnectorClient).getToken(0xc00010c000, {0x7b8b80, 0xc0000a8000})
	/tmp/msbotbuilder-go/connector/client/client.go:178 +0x9c9
github.com/infracloudio/msbotbuilder-go/connector/client.(*ConnectorClient).sendRequest(_, _, {{0x730559, 0x7}, {0x0, 0x0}, {0x0, 0x0, 0x0}, {0x0, ...}, ...})
	/tmp/msbotbuilder-go/connector/client/client.go:116 +0x55
github.com/infracloudio/msbotbuilder-go/connector/client.(*ConnectorClient).Post(_, {_, _}, {{0xc0000a66f0, 0x5}, {0x0, 0x0}, 0x0, {0xc0000a66f8, 0x17}, ...}, ...)
	/tmp/msbotbuilder-go/connector/client/client.go:84 +0x19b
github.com/infracloudio/msbotbuilder-go/core/activity.(*DefaultResponse).SendActivity(_, {_, _}, {{0x730559, 0x7}, {0x0, 0x0}, {0x0, 0x0, 0x0}, ...})
	/tmp/msbotbuilder-go/core/activity/response.go:84 +0x2cd
github.com/infracloudio/msbotbuilder-go/core.(*BotFrameworkAdapter).ProcessActivity(_, {_, _}, {{0xc0000a9950, 0x7}, {0xc0000a99a3, 0xd}, {0x1cd06634, 0xedacfb812, 0x0}, ...}, ...)
	/tmp/msbotbuilder-go/core/bot_framework_adapter.go:115 +0x1b9
main.(*HTTPHandler).processMessage(0xc00009ed20, {0x7b8968, 0xc00010c1c0}, 0x4cef69?)
	/tmp/msbotbuilder-go/samples/echobot/main.go:36 +0x20d
net/http.HandlerFunc.ServeHTTP(0x6d3660?, {0x7b8968?, 0xc00010c1c0?}, 0xc00012c080?)
	/usr/lib/go-1.18/src/net/http/server.go:2084 +0x2f
net/http.(*ServeMux).ServeHTTP(0x0?, {0x7b8968, 0xc00010c1c0}, 0xc00012a000)
	/usr/lib/go-1.18/src/net/http/server.go:2462 +0x149
net/http.serverHandler.ServeHTTP({0x7b7b20?}, {0x7b8968, 0xc00010c1c0}, 0xc00012a000)
	/usr/lib/go-1.18/src/net/http/server.go:2916 +0x43b
net/http.(*conn).serve(0xc0000bcb40, {0x7b8bf0, 0xc0000a3230})
	/usr/lib/go-1.18/src/net/http/server.go:1966 +0x5d7
created by net/http.(*Server).Serve
	/usr/lib/go-1.18/src/net/http/server.go:3071 +0x4db
2022/10/05 19:38:28 http: panic serving 10.100.199.12:50088: runtime error: invalid memory address or nil pointer dereference
goroutine 26 [running]:
net/http.(*conn).serve.func1()
	/usr/lib/go-1.18/src/net/http/server.go:1825 +0xbf
panic({0x6e4640, 0x962d50})
	/usr/lib/go-1.18/src/runtime/panic.go:844 +0x258
github.com/infracloudio/msbotbuilder-go/connector/client.(*ConnectorClient).getToken(0xc00010c000, {0x7b8b80, 0xc0000a8000})
	/tmp/msbotbuilder-go/connector/client/client.go:178 +0x9c9
github.com/infracloudio/msbotbuilder-go/connector/client.(*ConnectorClient).sendRequest(_, _, {{0x730559, 0x7}, {0x0, 0x0}, {0x0, 0x0, 0x0}, {0x0, ...}, ...})
	/tmp/msbotbuilder-go/connector/client/client.go:116 +0x55
github.com/infracloudio/msbotbuilder-go/connector/client.(*ConnectorClient).Post(_, {_, _}, {{0xc0005c8180, 0x5}, {0x0, 0x0}, 0x0, {0xc0005c8188, 0x17}, ...}, ...)
	/tmp/msbotbuilder-go/connector/client/client.go:84 +0x19b
github.com/infracloudio/msbotbuilder-go/core/activity.(*DefaultResponse).SendActivity(_, {_, _}, {{0x730559, 0x7}, {0x0, 0x0}, {0x0, 0x0, 0x0}, ...})
	/tmp/msbotbuilder-go/core/activity/response.go:84 +0x2cd
github.com/infracloudio/msbotbuilder-go/core.(*BotFrameworkAdapter).ProcessActivity(_, {_, _}, {{0xc0003301d0, 0x7}, {0xc0003301e0, 0xd}, {0x1cd06634, 0xedacfb812, 0x0}, ...}, ...)
	/tmp/msbotbuilder-go/core/bot_framework_adapter.go:115 +0x1b9
main.(*HTTPHandler).processMessage(0xc00009ed20, {0x7b8968, 0xc00010c2a0}, 0xc000204100?)
	/tmp/msbotbuilder-go/samples/echobot/main.go:36 +0x20d
net/http.HandlerFunc.ServeHTTP(0x0?, {0x7b8968?, 0xc00010c2a0?}, 0xc00012c0c0?)
	/usr/lib/go-1.18/src/net/http/server.go:2084 +0x2f
net/http.(*ServeMux).ServeHTTP(0x0?, {0x7b8968, 0xc00010c2a0}, 0xc000204100)
	/usr/lib/go-1.18/src/net/http/server.go:2462 +0x149
net/http.serverHandler.ServeHTTP({0x7b7b20?}, {0x7b8968, 0xc00010c2a0}, 0xc000204100)
	/usr/lib/go-1.18/src/net/http/server.go:2916 +0x43b
net/http.(*conn).serve(0xc0000bcd20, {0x7b8bf0, 0xc0000a3230})
	/usr/lib/go-1.18/src/net/http/server.go:1966 +0x5d7
created by net/http.(*Server).Serve
	/usr/lib/go-1.18/src/net/http/server.go:3071 +0x4db

I've captured the request

POST /api/messages HTTP/1.1
authorization: Bearer <redacted>
x-ms-conversation-id: <redacted>
x-ms-tenant-id: <redacted>
user-agent: Microsoft-SkypeBotApi (Microsoft-BotFramework/3.0)
ms-cv: <redacted>
content-type: application/json; charset=utf-8
host: <redacted>
content-length: 1055
x-forwarded-proto: https
x-forwarded-for: 52.113.205.15
connection: close

{"text":"testbot ","textFormat":"plain","attachments":[{"contentType":"text/html","content":"<p>testbot </p>"}],"type":"message","timestamp":"2022-10-05T17:40:48.2890875Z","localTimestamp":"2022-10-05T19:40:48.2890875+02:00","id":"1664991648254","channelId":"msteams","serviceUrl":"https://smba.trafficmanager.net/emea/","from":{"id":"29:17Tq-xb-FxJqethEHuG1XHhISPVERKQZO9AfLaR8tKckt1f1Lmfv1rkFr6LRO2Ok9NQyVsvmseJTQE2UsKnVnVw","name":"<redacted>","aadObjectId":"<redacted>"},"conversation":{"conversationType":"personal","tenantId":"<redacted>","id":"a:1Wa3YlVHUQoiefkiY_LBvhvffdgm1qBVPPvlakMDeWY031MShWvqA4XpXMaJijhzoSWfwQr5jx04CYptl2lhNtLelbIzV4Py7AIGwCkANBrtrjHHonC_hYp8fZijny6Kj"},"recipient":{"id":"28:7d7fb618-9d5c-4c42-b4e7-95030b5fb9e9","name":"testbot"},"entities":[{"locale":"en-US","country":"US","platform":"Web","timezone":"Europe/Warsaw","type":"clientInfo"}],"channelData":{"tenant":{"id":"<redacted>"}},"locale":"en-US","localTimezone":"Europe/Warsaw"}

but it looks just fine...

How to send TYPING / Bubble 3 dots while processing answer

In making a chat bot, user enters a question - bot takes a few seconds to respond....

What we would like is once the user sends the questions and it received by the bot - we send back an activity that we are typing so user sees activity happening. How to send this and turn off?

[Change suggestion] Refactor client connector code

Current code base relies on client connection interface to send request to Microsoft Bot API which is limit in only 2 methods:

// Client provides interface to send requests to the connector service.
type Client interface {
	Post(url url.URL, activity schema.Activity) error
	Delete(url url.URL, activity schema.Activity) error
}

Although it's enough to interact with activity, but it makes the code limit to activity usage only, we can only send and delete activity where provider API provides many other API for the bot itself.

Suggestion:

  1. Client interface can be extended/modified so that it can include response in return values, client can then send request based on active activities, while still can reuse response from Microsoft to process response themself
  2. Add full request method to client interface (GET, PUT), as Microsoft provides api with these method also.

Any input? I would love to submit a PR if necessary.

Hello everyone, please how do I get the user's email?

I'm migrating from the Java SDK to Go and one of the features I need is "getMember". I haven't found it or I don't know if it's implemented here.

In the Java SDK I do it this way
CompletableFuture<TeamsChannelAccount> member = TeamsInfo.getMember(turnContext, turnContext.getActivity().getFrom().getId()); if (member.get().getAadObjectId() != null) { profile.setName(member.get().getGivenName()); profile.setEmail(member.get().getEmail().toLowerCase()); }

I would like to know if it is possible to get the user's email using this package and if not, I would like to implement this functionality.

If it is to be implemented, I would like to know if this information already comes in the request or if I will need to consume an API to fetch it.

I thank the attention.

Failed to parse request. Authentication failed.: Unauthorized. Invalid AppId passed on token

I've copied AppID, then created a new secret at "Certificates & secrets" menu. This is the only way to create app password I've found by now. I now that previously password was generated on bot creation but is doesn't seem to work this way now.

With the AppID from app overview and password from certificates and secrets I got this error in the logs:
Failed to parse request. Authentication failed.: Unauthorized. Invalid AppId passed on token

Not sure if this is a bug or I have to use some other password. It latter is correct, please let me now how to get a valid password.

UDP: my bad. you can delete this.

Recording ErrorResponse in Connector Client

Hello! Thanks for maintaining this awesome library. It's been very productive for our team.

I stumbled on something while using it. When requests are made using the connector client (here, for example), the library is only checking whether the response is a 2xx status code and returning a custom error if not. There's some Microsoft documentation that indicates the presence of an ErrorResponse object in the response body and it would be nice to have that for debugging purposes.

It would be pretty easy to integrate into the HtErr field of theHTTPError type. I'm happy to submit a pull request for this.

Is this working stable currently?

Hi,
I'm creating a bot for Microsoft teams, I have created a bot in https://dev.botframework.com/bots/new, I have my APP_ID and my APP_PASSWORD (the last created in Secret and Keys page).

When I try to run an example of msbotbuilder-go\samples\echobot and try to test the bot from testing page
TestingPage

I obtained an error in ngrok and my service.

ngrok

HTTP Requests                                                                                                           -------------                                                                                                                                                                                                                                   POST /api/messages             400 Bad Request 

example

PS C:\Users\fabulias\go\src\github.com\infracloudio\msbotbuilder-go\samples\echobot> go run .\main.go
Starting server on port:3978...
Failed to process request Failed to create Activity context.: Activity type conversationUpdate not supported yet
Failed to process request Failed to send response.: HTTP error 401: invalid response.

I'm working on Windows 10 Pro edition.

Please, I arrived here because I thought that this is a client for Microsoft bots apps, help me a few.

Breaking change in latest github.com/lestrrat-go/jwx

New users may invoke go get -u github.com/infracloudio/msbotbuilder-go like the README says and receive the latest version of github.com/lestrrat-go/jwx.

For stability, keep go.mod version of github.com/lestrrat-go/jwx at v0.9.0.

See release notes: https://github.com/lestrrat-go/jwx/releases/tag/v1.0.0

jwk.Materialize has been renamed to Raw(). A new corresponding
method to initialize the key from a raw key (RSA/ECDSA/byte keys)
called FromRaw() has also been added, which makes a nice pair.

Realese 0.1.1

There are a lot of changes since 0.1.0 realese. Could you please do a new one?

Invoke activity is not sent when consent card button is clicked

I've tried to run file-upload example from the repo. It runs, but when I click "accept" or "decline" on the consent card nothing happens. Nothing appears in logs after the information about "message" activity is being processed. Seems like nothing is sent from teams whatsoever. I've tried both web and desktop teams client. Other activities are processed as expected.

Should I configure my bot is some special way in order to have "invoke" working? Or maybe consent card in the example is not correct?

Conversation update activity handler failing with infinite loop

Below is the stack trace for conversationUpdate event.

runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc02087e4d8 stack=[0xc02087e000, 0xc04087e000]
fatal error: stack overflow

runtime stack:
runtime.throw(0x18a3d73, 0xe)
	/usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.newstack()
	/usr/local/go/src/runtime/stack.go:1034 +0x6ce
runtime.morestack()
	/usr/local/go/src/runtime/asm_amd64.s:449 +0x8f

goroutine 5 [running]:
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:54 +0x187 fp=0xc02087e4e8 sp=0xc02087e4e0 pc=0x17213e7
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02087eed8 sp=0xc02087e4e8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02087f8c8 sp=0xc02087eed8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208802b8 sp=0xc02087f8c8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020880ca8 sp=0xc0208802b8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020881698 sp=0xc020880ca8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020882088 sp=0xc020881698 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020882a78 sp=0xc020882088 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020883468 sp=0xc020882a78 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020883e58 sp=0xc020883468 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020884848 sp=0xc020883e58 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020885238 sp=0xc020884848 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020885c28 sp=0xc020885238 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020886618 sp=0xc020885c28 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020887008 sp=0xc020886618 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208879f8 sp=0xc020887008 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208883e8 sp=0xc0208879f8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020888dd8 sp=0xc0208883e8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208897c8 sp=0xc020888dd8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088a1b8 sp=0xc0208897c8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088aba8 sp=0xc02088a1b8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088b598 sp=0xc02088aba8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088bf88 sp=0xc02088b598 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088c978 sp=0xc02088bf88 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088d368 sp=0xc02088c978 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088dd58 sp=0xc02088d368 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088e748 sp=0xc02088dd58 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088f138 sp=0xc02088e748 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02088fb28 sp=0xc02088f138 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020890518 sp=0xc02088fb28 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020890f08 sp=0xc020890518 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208918f8 sp=0xc020890f08 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208922e8 sp=0xc0208918f8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020892cd8 sp=0xc0208922e8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208936c8 sp=0xc020892cd8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208940b8 sp=0xc0208936c8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020894aa8 sp=0xc0208940b8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020895498 sp=0xc020894aa8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020895e88 sp=0xc020895498 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020896878 sp=0xc020895e88 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020897268 sp=0xc020896878 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020897c58 sp=0xc020897268 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020898648 sp=0xc020897c58 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020899038 sp=0xc020898648 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc020899a28 sp=0xc020899038 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089a418 sp=0xc020899a28 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089ae08 sp=0xc02089a418 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089b7f8 sp=0xc02089ae08 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089c1e8 sp=0xc02089b7f8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089cbd8 sp=0xc02089c1e8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089d5c8 sp=0xc02089cbd8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089dfb8 sp=0xc02089d5c8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089e9a8 sp=0xc02089dfb8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089f398 sp=0xc02089e9a8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc02089fd88 sp=0xc02089f398 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a0778 sp=0xc02089fd88 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a1168 sp=0xc0208a0778 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a1b58 sp=0xc0208a1168 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a2548 sp=0xc0208a1b58 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a2f38 sp=0xc0208a2548 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a3928 sp=0xc0208a2f38 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a4318 sp=0xc0208a3928 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a4d08 sp=0xc0208a4318 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a56f8 sp=0xc0208a4d08 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a60e8 sp=0xc0208a56f8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a6ad8 sp=0xc0208a60e8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a74c8 sp=0xc0208a6ad8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a7eb8 sp=0xc0208a74c8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a88a8 sp=0xc0208a7eb8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a9298 sp=0xc0208a88a8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208a9c88 sp=0xc0208a9298 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208aa678 sp=0xc0208a9c88 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208ab068 sp=0xc0208aa678 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208aba58 sp=0xc0208ab068 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208ac448 sp=0xc0208aba58 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208ace38 sp=0xc0208ac448 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208ad828 sp=0xc0208ace38 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208ae218 sp=0xc0208ad828 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208aec08 sp=0xc0208ae218 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208af5f8 sp=0xc0208aec08 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208affe8 sp=0xc0208af5f8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b09d8 sp=0xc0208affe8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b13c8 sp=0xc0208b09d8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b1db8 sp=0xc0208b13c8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b27a8 sp=0xc0208b1db8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b3198 sp=0xc0208b27a8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b3b88 sp=0xc0208b3198 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b4578 sp=0xc0208b3b88 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b4f68 sp=0xc0208b4578 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b5958 sp=0xc0208b4f68 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b6348 sp=0xc0208b5958 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b6d38 sp=0xc0208b6348 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b7728 sp=0xc0208b6d38 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b8118 sp=0xc0208b7728 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b8b08 sp=0xc0208b8118 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b94f8 sp=0xc0208b8b08 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208b9ee8 sp=0xc0208b94f8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208ba8d8 sp=0xc0208b9ee8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208bb2c8 sp=0xc0208ba8d8 pc=0x17212f1
github.com/infracloudio/msbotbuilder-go/core/activity.HandlerFuncs.OnConversationUpdate(0x18d3018, 0x0, 0x18d3010, 0xc0000c8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/sujayb/go/pkg/mod/github.com/infracloudio/[email protected]/core/activity/handler.go:56 +0x91 fp=0xc0208bbcb8 sp=0xc0208bb2c8 pc=0x17212f1
...additional frames elided...
created by net/http.(*Server).Serve
	/usr/local/go/src/net/http/server.go:2933 +0x35c

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x2746490, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc000358818, 0x72, 0x0, 0x0, 0x189d3d4)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000358800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:384 +0x1d4
net.(*netFD).accept(0xc000358800, 0x2b7c9b70daf5682a, 0x137c6daf5682a, 0x100000001)
	/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc000369760, 0x5f59a308, 0xc00019fc08, 0x1086d26)
	/usr/local/go/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc000369760, 0xc00019fc58, 0x18, 0xc000000180, 0x12de30c)
	/usr/local/go/src/net/tcpsock.go:261 +0x64
net/http.(*Server).Serve(0xc0004020e0, 0x1af7680, 0xc000369760, 0x0, 0x0)
	/usr/local/go/src/net/http/server.go:2901 +0x25d
net/http.(*Server).ListenAndServe(0xc0004020e0, 0xc0004020e0, 0xc000339d20)
	/usr/local/go/src/net/http/server.go:2830 +0xb7
net/http.ListenAndServe(...)
	/usr/local/go/src/net/http/server.go:3086
main.startListening(0xc00032b680, 0x0, 0x0, 0x0, 0x0, 0x0)
	/Users/sujayb/go/src/github.com/coupa/conductor/main.go:153 +0x235
main.startServer(0xc00032b680, 0x18d3030, 0x18d3028, 0x1, 0x1b06320)
	/Users/sujayb/go/src/github.com/coupa/conductor/main.go:220 +0x110
main.main()
	/Users/sujayb/go/src/github.com/coupa/conductor/main.go:92 +0x439

goroutine 6 [chan receive]:
gopkg.in/alexcesaro/statsd%2ev2.newConn.func1(0xc00007e200)
	/Users/sujayb/go/pkg/mod/gopkg.in/alexcesaro/[email protected]/conn.go:68 +0x70
created by gopkg.in/alexcesaro/statsd%2ev2.newConn
	/Users/sujayb/go/pkg/mod/gopkg.in/alexcesaro/[email protected]/conn.go:66 +0x315

goroutine 7 [IO wait]:
internal/poll.runtime_pollWait(0x27463b0, 0x72, 0xffffffffffffffff)
	/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc00007e018, 0x72, 0x0, 0x1, 0xffffffffffffffff)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00007e000, 0xc000020311, 0x1, 0x1, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:169 +0x201
net.(*netFD).Read(0xc00007e000, 0xc000020311, 0x1, 0x1, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc000010018, 0xc000020311, 0x1, 0x1, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/net.go:184 +0x8e
net/http.(*connReader).backgroundRead(0xc000020300)
	/usr/local/go/src/net/http/server.go:678 +0x58
created by net/http.(*connReader).startBackgroundRead
	/usr/local/go/src/net/http/server.go:674 +0xd0

goroutine 15 [IO wait]:
internal/poll.runtime_pollWait(0x27461f0, 0x72, 0xffffffffffffffff)
	/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc00007e698, 0x72, 0x7800, 0x7883, 0xffffffffffffffff)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00007e680, 0xc00060e000, 0x7883, 0x7883, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:169 +0x201
net.(*netFD).Read(0xc00007e680, 0xc00060e000, 0x7883, 0x7883, 0x203000, 0x1217980, 0xc000343638)
	/usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc0000b0c20, 0xc00060e000, 0x7883, 0x7883, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/net.go:184 +0x8e
crypto/tls.(*atLeastReader).Read(0xc00018e040, 0xc00060e000, 0x7883, 0x7883, 0x19, 0x4369, 0xc0000ff9c8)
	/usr/local/go/src/crypto/tls/conn.go:760 +0x60
bytes.(*Buffer).ReadFrom(0xc000343758, 0x1ae9ea0, 0xc00018e040, 0x100c085, 0x17daa00, 0x1870d20)
	/usr/local/go/src/bytes/buffer.go:204 +0xb1
crypto/tls.(*Conn).readFromUntil(0xc000343500, 0x2746570, 0xc0000b0c20, 0x5, 0xc0000b0c20, 0x0)
	/usr/local/go/src/crypto/tls/conn.go:782 +0xec
crypto/tls.(*Conn).readRecordOrCCS(0xc000343500, 0x0, 0x0, 0xc0000ffd38)
	/usr/local/go/src/crypto/tls/conn.go:589 +0x115
crypto/tls.(*Conn).readRecord(...)
	/usr/local/go/src/crypto/tls/conn.go:557
crypto/tls.(*Conn).Read(0xc000343500, 0xc000219000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/go/src/crypto/tls/conn.go:1233 +0x15b
bufio.(*Reader).Read(0xc0000b2ae0, 0xc0003ac498, 0x9, 0x9, 0xc0000ffd38, 0x18d3a00, 0x12c2a45)
	/usr/local/go/src/bufio/bufio.go:226 +0x24f
io.ReadAtLeast(0x1ae9d40, 0xc0000b2ae0, 0xc0003ac498, 0x9, 0x9, 0x9, 0xc000098100, 0x0, 0x1aea060)
	/usr/local/go/src/io/io.go:310 +0x87
io.ReadFull(...)
	/usr/local/go/src/io/io.go:329
net/http.http2readFrameHeader(0xc0003ac498, 0x9, 0x9, 0x1ae9d40, 0xc0000b2ae0, 0x0, 0x0, 0xc00055a060, 0x0)
	/usr/local/go/src/net/http/h2_bundle.go:1479 +0x87
net/http.(*http2Framer).ReadFrame(0xc0003ac460, 0xc00055a060, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/http/h2_bundle.go:1737 +0xa1
net/http.(*http2clientConnReadLoop).run(0xc0000fffa8, 0x0, 0x0)
	/usr/local/go/src/net/http/h2_bundle.go:8246 +0x8d
net/http.(*http2ClientConn).readLoop(0xc000082780)
	/usr/local/go/src/net/http/h2_bundle.go:8174 +0x6f
created by net/http.(*http2Transport).newClientConn
	/usr/local/go/src/net/http/h2_bundle.go:7174 +0x64a

Pattern for accepting more activity types

Hey! I'm looking at supporting the other activity types that could arise, but it looks like changes to the core library are required to make that possible.

Would you be interested in a PR for either of these solutions?

  • A fallback handler so that if any other activity isn't handled, the fallback handler is invoked and is given the opportunity to handle unsupported activities. This should be backwards compatible, but isn't as clean.
  • Or, turn handlers into a map[schema.ActivityType]func(turn *activity.TurnContext) (schema.Activity, error) and allow for handlers for any ActivityType to be defined that way. This way seems potentially cleaner to me, but also looks like a breaking change.
  • Or, continue out the pattern as it is in the repository with the rest of the ActivityTypes. This would be backwards compatible, but would have a bit of duplication.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.