2017-03-27 4 views
0

GITで提供されているproactiveMessagesの例とcreateNewConverationの例を見てきました。両方の例では、最初にボットとやりとりした後、チャネルアカウントで会話が開始されることが示されています。以前はボットと以前にやりとりしたことのないユーザー(特にSMS)との会話を開始できるボットを作成する必要があります。私は、チャネルアカウントオブジェクトと、メッセージアクティビティのプロデューサとして使用したいtwilioの電話番号を作成するために有効なID(この場合はSMS番号)を持っています。ユーザとの会話を作成する - (SMSチャンネル)

2質問: 1)コネクタクライアントを使用して直接会話を作成するには、以前にボットとやりとりしたことがある必要がありますか?もしそうなら、ボイスデータストアにこのチャンネルアカウントデータをロードして会話を作成する方法がありますか? 2)私たちのボット(api経由)が有効なチャンネルアカウントで会話を開始できるようになる将来のバージョンはありますか? apiは私が会話を作成できるようにすることによって少し誤解を招く。 「resumeConversation」という名前にする必要があります。

答えて

1

私は、サービスURL:https://sms.botframework.comとボットのアプリケーションのクレジットを持つコネクタクライアントから会話を開始できました。私は自分のトレースロガーに、チャネルアカウントIDに国番号が含まれていることに気づいた。この場合、channel accountIdは+1 [areacode] [number]の形式にする必要があります。私の積極的な挨拶がうまく送られました。だから私は、SMSチャネルはBOTからユーザーに会話を開始できると信じています。

この場合のServiceUrlは、smsチャネルの場合はhttps://sms.botframework.comです。 The

var serviceUrl = GetServiceUrlByChannelId(channel); 
    MicrosoftAppCredentials.TrustServiceUrl(serviceUrl, DateTime.Now.AddDays(7)); //todo change magic number 
    var account = new MicrosoftAppCredentials([MicrosoftAppId], [MicrosoftAppPassword]); 

    _connector = new ConnectorClient(new Uri(serviceUrl), account); 

    var botAccount = new ChannelAccount { Id = bot.Id, Name = bot.Name }; 
    var toAccount = new ChannelAccount { Id = recipient.Id, Name = recipient.Name }; 

    if (!MicrosoftAppCredentials.IsTrustedServiceUrl(serviceUrl)) { 
    throw new Exception("Cannot create conversation! Service URL is not trusted!"); 
    } 

    var conversationResponse = _connector.Conversations.CreateDirectConversation(botAccount, toAccount); 
+0

Hey @ jay-tinaさんは、ボットアプリのクレジットをエンドポイントに投稿した方法を教えてください。 – jsw324

+0

私はちょうど私の答え@ jsw324にコードスニペットを追加しました。これはあなたの質問に答えますか?あなたが呼び出すエンドポイントがわからない。 ConnectorClientインスタンスと新しく作成されたconversationIdを使用して、エンドユーザー(conversationIdおよびserviceURL)にメッセージを送信できるようになりました。 –

+0

それを得ました!どうもありがとう! – jsw324

関連する問題