所以,如果我理解正確的,你的問題涉及兩個部分:
1.如何開始對話
在3.0,MS引入了一個新的方式開始新的對話(組或1對1)。參考:https://docs.botframework.com/en-us/csharp/builder/sdkreference/routing.html#conversation
示例代碼:
var connector = new ConnectorClient(incomingMessage.ServiceUrl);
var ConversationId = await connector.Conversations.CreateDirectConversationAsync(incomingMessage.Recipient, incomingMessage.From);
IMessageActivity message = Activity.CreateMessageActivity();
message.From = botChannelAccount;
message.Recipient = new ChannelAccount() { name: "Larry", "id":"@UV357341"};
message.Conversation = new ConversationAccount(id: ConversationId.Id);
message.Text = "Hello";
message.Locale = "en-Us";
var reply = await connector.Conversations.ReplyToActivityAsync(message);
2.如何安排作業
有做這件事的多種方式,你可以使用一個外部隊列服務,Azure的網絡工作, web角色,或嘗試在ASP.NET本身中註冊。
Hangfire(http://hangfire.io/)是我用於我的機器人。
代碼示例:
BackgroundJob.Schedule(
() => TriggerConversation(), // <= the start conversation code here
TimeSpan.FromDays(1)); // <= when the job should be ran
您使用的免費版本還是payed? –
@AlokRajasukumaran:我正在使用免費版本 –
您可以演示如何做到這一點嗎? –