Contribute to Open Source. Search issue labels to find the right project for you!

Associazione codici e corsi, docenti, ... /telegram


L'utente vuole fare l'impostazione iniziale del bot e inserisce corso e percorso

Procedimento how-to-demo: 1. L'utente apre la chat con il bot facendo partire la conversazione 2. Il bot richiede il dipartimento di appartenenza 3. Il bot una volta ricevuta la risposta chiede il corso di appartenenza visualizzando unicamente quelli del dipartimento selezionato 4. Il bot chiede l'anno nel quale si è con il percorso

Updated 07/12/2017 08:45

[Localization] The Locale field is missing in messages from Telegram, Skype, MS Teams and so on. Localization doesn't work at all.


Bot Info <!– As registered in the Bot Developer Portal at –>

  • SDK Platform: .NET
  • SDK Version: Microsoft.Bot.Builder.Azure 3.2.3
  • Active Channels: Telegram, Skype, MS Teams, Emulator
  • Deployment Environment: Auzure Bot Service

Issue Description

The activity which is coming from Telegram, Skype or MS Teams doesn’t have the Locale field anymore. So that the bot can’t localizes any messages for user.

Code Example

Telegram: { "type": "message", "id": "**", "timestamp": "2017-12-05T18:43:24.6431233Z", "serviceUrl": "", "channelId": "telegram", "from": { "id": "**", "name": "**" }, "conversation": { "isGroup": false, "id": "**" }, "recipient": { "id": "**", "name": "**" }, "text": "Text", "channelData": { "update_id": 418672082, "callback_query": { "id": "**", "from": { "id": 134567, "is_bot": false, "first_name": "**", "last_name": "**", "username": "**", "language_code": "en" }, "message": { "message_id": 307, "from": { "id": 134567, "is_bot": true, "first_name": "**", "username": "**" }, "chat": { "id": 7654321, "first_name": "**", "last_name": "**", "username": "**", "type": "private" }, "date": 1512498143, "text": "Text" }, "chat_instance": "2552744620053388356", "data": "Text" } } }

MS Teams: { "text": "Text", "textFormat": "plain", "type": "message", "timestamp": "2017-12-05T18:45:35.351Z", "localTimestamp": "2017-12-05T21:45:35.351+03:00", "id": "**", "channelId": "msteams", "serviceUrl": "", "from": { "id": "**", "name": "**", "aadObjectId": "35820c14-8b1a-4ffe-9cfc-a8e8b0858418" }, "conversation": { "id": "**" }, "recipient": { "id": "**", "name": "**" }, "entities": [ { "locale": "ru-RU", "country": "RU", "platform": "Web", "type": "clientInfo" } ], "channelData": { "tenant": { "id": "**" } } }

Bot Emulator: { "type": "message", "text": "Text", "from": { "id": "default-user", "name": "User" }, "locale": "ru-RU", "textFormat": "plain", "timestamp": "2017-12-05T18:47:38.087Z", "channelData": { "clientActivityId": "1512499640001.9503766533278897.0" }, "entities": [ { "type": "ClientCapabilities", "requiresBotState": true, "supportsTts": true, "supportsListening": true } ], "id": "m4g22ck45616" }

Expected Behavior

The channels must have the Locale field exactly as Emulator.

Updated 09/12/2017 14:05 6 Comments

[Telegram] Bot crashes on Telegram channel with no detail explanation.


Bot Info <!– As registered in the Bot Developer Portal at –>

  • App ID: 94c57b4b-dae9-4165-a117-905f110e8355
  • SDK Platform: Node.js
  • SDK Version: 3.12.0
  • Active Channels: Telegram
  • Deployment Environment: heroku, ngrok, google app engine

Issue Description

Trying to attach some different video files to chat message and got “Telegram API returned a result code indicating non-success” with no any explanation. Where it possible to view detail logs and how?

Expected Behavior

Viewing detail logs somewhere

Please help.

Updated 08/12/2017 16:45 3 Comments

[Bot Deployment] Understanding error: “Post to HRSurveySSLBot failed : POST to bot’s endpoint failed with HTTP status 401”.


We are facing an issue while deploying the bot on IIS. It gives an error (as in telegram) “Post to HRSurveySSLBot failed : POST to bot’s endpoint failed with HTTP status 401”.

We are using the registered bot - App_ID=29eaa0ed-4b42-4055-91fa-5771025c5253 and Password. (We are sure we have used correct pwd.) Bot Handle – HRSurveySSLBot.

The bot works perfectly fine while deployed on Azure.

We tried two scenarios (and several other) - 1. With App Id and Password Screenshots below - telegram with app id pwd

webchat with app id and pwd

  1. Without App Id and Password Screenshots below -

telegram without app id pwd

web chat without app id pwd

Please also find below bot architecture - botarchitecture

Updated 04/12/2017 06:08 5 Comments

Personalizzazione Telegram bot


L'utente vuole indicare al bot quali corsi segue e quali no

Procedimento how-to-demo: 1. L'utente chiede di rimuovere/aggiungere un corso/materia 2. Il bot chiede quale corso e successivamente la rimuove/aggiunge dalla/alla lista di corsi seguiti dall'utente 3. Alla prossima richiesta dall'utente non verranno visualizzate/verranno visualizzate informazioni riguardanti il corso rimosso/aggiunto

Updated 07/12/2017 08:45

[Telegram] Getting error: 'timed out after 15s' when sending to Telegram channel?

  • App ID: 62516114-227c-436c-8e55-e7dcf50e7474
  • SDK Platform: .NET
  • SDK Version: 3.11.0
  • Active Channels: skype, telegram
  • Deployment Environment: aws

Issue Description

Message ‘POST to nowinfinity_assistant timed out after 15s’ in reply in Telegram channel. In Skype all works well

Reproduction Steps

  1. add bot to contacts
  2. send ‘abn for Abbott’

Expected Behavior

no messages like ‘POST to nowinfinity_assistant timed out after 15s’ in reply to user activity

Actual Results

Updated 13/11/2017 21:22 1 Comments

[Question] In a multistep Waterfall dialog, responses to SuggestedActions and buttons are always received in the first step?


Bot Info

  • SDK Platform: Node.js
  • SDK Version: 3.11.0

Issue Description

In multistep Waterfall dialogs, user input can be requested at any step by means of Prompts, beginning new Dialogs, or rich messages. The response to the request is received at the next waterfall step in the case of Prompts and child Dialogs, but the responses to rich messages are always received at the first step of the waterfall (out of context).

Code Example

bot.dialog('multiStepDialog', [
  (session, args)=>{
    // STEP 1
    // Results from STEP 3 SUGGESTED ACTIONS are currently received here!
    builder.Prompts.text(session, "Write anything");
  (session, results)=>{
    // STEP 2
    // Result from STEP 1 PROMPT are received here
    console.log("Prompt response:", results.response);
  (session, results)=>{
    // STEP 3
    // Results from STEP 2 child Dialog are received here
    console.log("childDialog results:", results);

    // Let's create a message with some suggested text responses
    var msg = new builder.Message(session)
      .text("Do you accept the terms?")
          session, [
            builder.CardAction.imBack(session, "YES", "Yes, of course!"),
            builder.CardAction.imBack(session, "NO", "No way!")

    // Results from STEP 3 SUGGESTED ACTIONS should be received here?
  (session, results)=>{
    // STEP 4
    // Results from STEP 3 SUGGESTED ACTIONS should be received here?

bot.dialog('childDialog', (session, args)=>{
  session.send("Hello from a child dialog");
  session.endDialogWithResult({response:{ok: true}});

Reproduction Steps

  1. Launch the example ‘multiStepDialog’ and interact with it Observe that:
  2. Step 1 sends a Prompt and its result is received by Step 2
  3. Step 2 launches a child Dialog and its result is received by Step 3
  4. Step 3 sends a message with Suggested Actions. Its result is received by Step 1.

Expected Behavior

The response to the message sent at Step 3 should be received in context, either at Step 3 itself (as it is the current step in the dialog stack and it has not requested to transition to the next step) or at Step 4 (to mimick the behaviour of a Prompt).

Actual Results

Currently, the response to the message sent by Step 3 is received by Step 1 (the first step of the Waterfall dialog), even if we were previously at Step 3 and we have not transitioned to Step 4 yet.

Step 1 should not know about later steps and the Suggested Actions and Buttons proposed by messages in later steps. Adding code to Step 1 to handle such user inputs does not seem appropriate and it is out of context.

Current Workarounds

In order to not receive the response at Step 1, I can see two workarounds, but they are no completely satisfactory: - Trigger an action: Create an action that is expecting the user input (e.g. the Suggested Action text or the Button data). This is not satisfactory because not every user input can be matched in a triggered action and even if you manage to catch it, it would be handled in the Action, not in the context of the multistep dialog. - Begin a child dialog: Instead of sending the rich message at Step 3, launch another (single step) dialog and delegate sending the message and processing the response to the child dialog. The results of this child dialog will be received in context in Step 4. This is the best current alternative, but it requires boilerplate code to create child dialogs, launch them and process its response.

Even if workarounds exist, I think that they should not be required, IMHO the response should be received in context by the current step in the waterfall.

By the way, the docs do not present any similar case so it is not clear what the proposed pattern is: - Docs for Suggested Actions show how to send a message with Suggested Actions, but not how to handle the response. - Docs for Rich Cards handle the response only by means of triggerAction(), but not in a multistep waterfall.

Updated 07/12/2017 23:35 5 Comments

[Question] Telegram: answerInlineQuery & answerCallbackQuery are not working properly


<!– Have a question?

Ask on using the tag "botframework".


System Information

  • SDK Language: Node.js
  • SDK Version: 3.9.0 & 3.4.4
  • Development Environment: localhost, ngrok (2.2.8), visual studio code (1.14.2)

Bot Info <!– As registered in the Bot Developer Portal at –>

  • Connected channels: Telegram

Issue Description

<!– Describe your issue, question, or feature request –> Regarding the utilization of Telegram-specific actions through channelData. if I received Telegram update with InlineQuery and then I answered by answerInlineQuery OR even I received Telegram update with CallbackQuery and then I answered by answerCallbackQuery, this error occurred [500] Internal Server Error. While other methods like sendMessage is working properly.

Code Example

<!– Share your bot code that causes the problem. A complete working example is best. –> BotFramework-Telegram-InlineQuery

Actual Results

<!– What actually happened. Please give examples and support it with screenshots, copied output or error messages. –>

the incoming update from telegram contained InlineQuery:- { "update_id": 875506648, "inline_query": { "id": "27876010608893950", "from": { "id": 6490389, "first_name": "Ahmed", "last_name": "Almalki", "username": "ahmedsmalki", "language_code": "en-SA" }, "query": "", "offset": "" } } this error occurred after sending a message with channelData either answerInlineQuery or answerCallbackQuery:- Error: Request to 'https: //' failed: [500] Internal Server Error at Request._callback (/Users/ABC/projects/BotFramework-Telegram-InlineQuery/node_modules/botbuilder/lib/bots/ChatConnector.js:523:46) at Request.self.callback (/Users/ABC/projects/BotFramework-Telegram-InlineQuery/node_modules/request/request.js:188:22) at emitTwo (events.js:106:13) at Request.emit (events.js:191:7) at Request.<anonymous> (/Users/ABC/projects/BotFramework-Telegram-InlineQuery/node_modules/request/request.js:1171:10) at emitOne (events.js:96:13) at Request.emit (events.js:188:7) at IncomingMessage.<anonymous> (/Users/ABC/projects/BotFramework-Telegram-InlineQuery/node_modules/request/request.js:1091:12) at IncomingMessage.g (events.js:292:16) at emitNone (events.js:91:20)

Updated 20/10/2017 18:50 4 Comments

Fork me on GitHub