更新
我正在開發一個與bot Framework進行1:1對話的Skype bot。 因爲我有一個WebHook方法,它將從外部服務調用並將消息發送到我的機器人,然後我的機器人會將該消息發送給Skype用戶。使用Botframework版本3從機器人發送消息到Skype用戶使用Botframework版本3
以下代碼是用於在消息控制器V1與API沿/消息發佈方法
public async Task<Message> Post([FromBody]Message message){}
[Route("~/api/messages/hook")]
[HttpPost]
public async Task<IHttpActionResult> WebHook([FromBody]WebHookMessage message)
{
if (message.Type == "EmotionUpdate")
{
const string fromBotAddress = "<Skype Bot ID here>";
const string toBotAddress = "<Destination Skype name here>";
var text = resolveEmoji(message.Data);
using (var client = new ConnectorClient())
{
var outMessage = new Message
{
To = new ChannelAccount("skype", address: toBotAddress , isBot: false),
From = new ChannelAccount("skype", address: $"8:{fromBotAddress}", isBot: true),
Text = text,
Language = "en",
};
await client.Messages.SendMessageAsync(outMessage);
}
}
return Ok();
}
我會調用上述網絡掛接從其他服務,讓自己的機器人將消息發送到相應的Skype用戶。
任何人都可以請幫我我怎樣才能在V3殭屍框架中實現相同? 我嘗試以下,但不工作
const string fromBotAddress = "Microsoft App ID of my bot";
const string toBotAddress = "skype username";
WebHookMessage processedData = JsonConvert.DeserializeObject<WebHookMessage>(message);
var text = resolveEmoji(processedData.Data);
using (var client = new ConnectorClient(new Uri("https://botname.azurewebsites.net/")
, "Bot Microsoft App Id", "Bot Microsoft App secret",null))
{
var outMessage = new Activity
{
ReplyToId = toBotAddress,
From = new ChannelAccount("skype", $"8:{fromBotAddress}"),
Text = text
};
await client.Conversations.SendToConversationAsync(outMessage);
}
但它不能正常工作,最後我想達到什麼是我想要我的機器人將消息發送到用戶的任何時候我們將如何在Skype的發送消息給一個人。
感謝您的回覆。我已更新我的問題,請檢查一次。 – Kishore1021
更新了我的答案,希望它有幫助。 – Thegaram