Обновлен
Я разрабатываю бот Skype с 1: 1 разговором с Bot Framework. В этом случае у меня есть метод WebHook, который вызывается из внешней службы и отправляет сообщение моему боту, тогда мой бот отправит это сообщение пользователю skype.Отправка сообщения от бота для пользователя Skype с помощью Botframework Version 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();
}
Я позвоню выше WebHook из другой службы, так что мой бот будет отправлять сообщения соответствующего пользователю скайпа.
Может кто-нибудь, пожалуйста, помогите мне, как я могу добиться того же в каркасе 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);
}
Но это не работает, в конце концов, чего я хочу добиться, я хочу, чтобы мой бот отправить сообщение пользователю в любое время, как мы будем посылать сообщение для человека в скайпе ,
благодарит за ответ. Я обновил свой вопрос, пожалуйста, проверьте его один раз. – Kishore1021
Обновлен мой ответ, надеюсь, что это поможет. – Thegaram