Comments (28)
We are thinking about ways we can easily port our emulator to the Mac. We'll come up with something soon.
from botframework-sdk.
BTW :I am refactoring the emulation part of the code into an external lib so people can create other platform UX for it.
from botframework-sdk.
Would be cool if the emulator was open sourced 😃
from botframework-sdk.
Please see the new cross-platform emulator. https://docs.botframework.com/en-us/tools/bot-framework-emulator
from botframework-sdk.
@Stevenic thanks!
from botframework-sdk.
+1 Would love this as well
from botframework-sdk.
Thanks for the feedback guys we'll work out some solution for Mac developers on the emulation side. Can I ask what language binding you're planning to use? With the Node version you can actually use the TextBot class to run your bot locally from a console window. While not the emulator it gets you pretty close.
from botframework-sdk.
@Stevenic i'm using node.js and using TextBot class for testing right now. There are some issues in Mac but i think they are not related to BotBuilder itself - skype for Mac does not support bots right now.
Also do you have any info about group chat bot support? It is in roadmap right now?
from botframework-sdk.
So to test on OSX you would skip using the restify server? So:
var restify = require('restify');
var builder = require('botbuilder');
// Create bot and add dialogs
var bot = new builder.TextBot()
bot.add('/', function (session) {
session.send('Hello World');
});
bot.listenStdin();
?
from botframework-sdk.
@artyomtrityak I wasn't aware that bots didn't work on Skype for Mac but sounds believable. As for when group chat will come in for Skype its on my todo list. The Skype guys still have some work todo on their side like they need to add @mention support for group chats so we were going to meet in a week or two to discuss how group chat support should work in Bot Builder. No timelines yet because of that.
from botframework-sdk.
@swennemans If you look at the todoBot examples you'll see how I moved the dialog out to a dialogs folder and then create separate botConnectorBot.js & textBot.js files that load the same dialogs in two different modes. Basically you can create 2 versions of your bot, one for when its run from the cloud and one for when its run locally. For testing on Mac this would be my current recommendation.
from botframework-sdk.
@Stevenic awesome. Thanks for your reply. I'm really excited to dive deeper :)
from botframework-sdk.
I just published a new guide for how to debug a bot locally on Mac/Linux using VSCode. You don't technically have to use VSCode but the same principals will apply regardless of your setup.
http://docs.botframework.com/builder/node/guides/debug-locally-with-vscode
from botframework-sdk.
Oh nice. So does that only work for node.js? Is there any solution for building bots using C# and mac?
from botframework-sdk.
I just pushed a new emulator and along with that there is a mono based console version of the emulator which works on Linux and Mac. Go to http://docs.botframework.com/connector/tools/bot-framework-emulator/#navtitle at the bottom of the page for instructions on installing it.
from botframework-sdk.
Just wanted to second @rlingineni's question regarding using C# as the development language on Linux / MacOS? Is that possible?
Also, failing that. Couldn't we *NIX folks just run a small Azure instance as build machine?
from botframework-sdk.
Absolutely, just use Mono. There are no azure dependencies, you just need a web server running someplace.
from botframework-sdk.
Does anyone have a sample repo of the ChatBot on OSX using C#? I still can't get it to work correctly on my Mac.
from botframework-sdk.
@rlingineni @tomlm is correct. If you just have a web server running somewhere and you can use C#. I've got it running with the Mac as my primary workstation using Visual Studio Code for the editor.
If no one beats me to it, I'll make a sample repo for you this weekend.
from botframework-sdk.
@rlingineni I realize that my answer wasn't perfect. I first created the project in Visual Studio on Windows but did the work on MacOS and ran a Mono web server.
I don't think there's a Visual Studio code template or path for creating a new project in Linux or OS X in C#? Is there @tomlm
from botframework-sdk.
hi, just want to confirm the mono emulator does not support Attachment(e.g. image, card)?
I was expecting it to give me some JSON response for inspection but it gives me error instead.
from botframework-sdk.
Hey @tomlm it looks like there is an issue with mono working with the botFramework emulator... i am getting the following error --- Can you let me know if its anything to do with the botframework or the mono installation/config. Or am i missing something... All that i did was installed mono, downloaded the emulator as mentioned on the site (http://docs.botframework.com/connector/tools/bot-framework-emulator/#navtitle) and run mono BFEmulator.exe and it fails as below
Unhandled Exception:
System.Net.Sockets.SocketException: Address already in use
at System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end) <0x7d7ef0 + 0x00137> in :0
at System.Net.EndPointListener..ctor (System.Net.HttpListener listener, System.Net.IPAddress addr, Int32 port, Boolean secure) <0x7d7b00 + 0x00147> in :0
at System.Net.EndPointManager.GetEPListener (System.String host, Int32 port, System.Net.HttpListener listener, Boolean secure) <0x7d0bd8 + 0x00283> in :0
at System.Net.EndPointManager.AddPrefixInternal (System.String p, System.Net.HttpListener listener) <0x7cf1d0 + 0x000af> in :0
at System.Net.EndPointManager.AddListener (System.Net.HttpListener listener) <0x7ced00 + 0x0011b> in :0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Net.Sockets.SocketException: Address already in use
at System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end) <0x7d7ef0 + 0x00137> in :0
at System.Net.EndPointListener..ctor (System.Net.HttpListener listener, System.Net.IPAddress addr, Int32 port, Boolean secure) <0x7d7b00 + 0x00147> in :0
at System.Net.EndPointManager.GetEPListener (System.String host, Int32 port, System.Net.HttpListener listener, Boolean secure) <0x7d0bd8 + 0x00283> in :0
at System.Net.EndPointManager.AddPrefixInternal (System.String p, System.Net.HttpListener listener) <0x7cf1d0 + 0x000af> in :0
at System.Net.EndPointManager.AddListener (System.Net.HttpListener listener) <0x7ced00 + 0x0011b> in :0
from botframework-sdk.
this is because there another process using port 9000
can you issue /settings command and change your port?
from botframework-sdk.
@longsangstan the console emulator dumps the json of the response if there are attachments
from botframework-sdk.
I am unable to issue the settings command, even that is giving the same error. Also I don't think I have anything on 9000
from botframework-sdk.
I just updated the console app, it properly handles conflicts and prompting you for new ports.
from botframework-sdk.
Great... Should i download from (http://docs.botframework.com/connector/tools/bot-framework-emulator/#navtitle)?? it does not seem to be updated.
from botframework-sdk.
Hi, I'm using the MacOS emulator and when my bot answer with an attachment, the emulator is replaying with a 500 Internal Server Error
without dumping the json, as stated above.
POST /v3/conversations/1cf91be5/activities/d89aeb29ddd24e41941297cbdca1393a HTTP/1.1
Authorization: Bearer XXXXXX
host: localhost:9000
accept: application/json
content-type: application/json
content-length: 238
Connection: close
{"type":"message","attachments":[{"contentType":"image/png","contentUrl":"https://bot-framework.azureedge.net/bot-icons-v1/bot-framework-default-7.png"}],"from":{"id":"5e4f5dfa","name":"Bot1"},"recipient":{"id":"617d3bf8","name":"User1"}}
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Server: Mono-HTTPAPI/1.0
Date: Thu, 22 Sep 2016 10:04:04 GMT
Connection: close
Transfer-Encoding: chunked
47
{
"message": "Object reference not set to an instance of an object"
}
0
Then if I type /dump
in the emulator it crashes:
/dump
Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
at Microsoft.Bot.Framework.Emulator.ConsoleApp.Program.Dump (Microsoft.Bot.Connector.Emulator.ConversationModel conversation, System.String input) <0x10a9560b0 + 0x002d2> in <filename unknown>:0
at Microsoft.Bot.Framework.Emulator.ConsoleApp.Program.Main (System.String[] args) <0x104a5e030 + 0x00910> in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
at Microsoft.Bot.Framework.Emulator.ConsoleApp.Program.Dump (Microsoft.Bot.Connector.Emulator.ConversationModel conversation, System.String input) <0x10a9560b0 + 0x002d2> in <filename unknown>:0
at Microsoft.Bot.Framework.Emulator.ConsoleApp.Program.Main (System.String[] args) <0x104a5e030 + 0x00910> in <filename unknown>:0
from botframework-sdk.
Related Issues (20)
- FAQ bot is not responding to question asked. Giving 500 error. HOT 2
- Unable to call bot service when we've enabled NGNIX & Fortigate for appservice in azure portal HOT 1
- 404 Not found when trying to use Teams SSO to get the user token HOT 7
- In Microsoft Teams, <Conversation>.ReplyToActivity does not send a reply, it creates a new message to the conversation HOT 4
- Play Continuous Video Stream on the Bot
- SendAdaptiveCards does not work with generic objects HOT 3
- Skype mentions showing "未知用户" HOT 2
- User response from button selection on Adaptive card not working on Facebook Messenger HOT 4
- Token Service returning 404 on GetToken when using Keycloak, works with ADv2 HOT 1
- Token Service doesn't refresh the user token HOT 3
- Bot gives same response multiple times when deployed with azure bot service HOT 1
- [Bug] Bot has no response in chat after deploying to non-Testing environment and uploading to Teams HOT 6
- Token Service giving a static dark page when clicking the sign in button multiple times
- [Bot Portal] I can't see my bots HOT 1
- OAuth Provider Model for Azure ARM Template (Azure AD B2C) HOT 1
- [OnTurnError] unhandled error : The CancellationTokenSource has been disposed. HOT 1
- Neither `tid` nor `tenantId` claim is present in the token
- Suggested actions not working properly with choice action.
- Robot
- How can i @ everyone with the framework in sending a message as a bot? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from botframework-sdk.