I tried to have my bot start a conversation with the user but I don't know where in the code I should send the message from. The documentation for starting a convo is here, but it's not super helpful: http://docs.botframework.com/connector/new-conversations/#navtitle. I also tried replying in the HandleSystemMessages (which works with the emulator if I change the message type) but it still won't send the first message.
I'm using Microsoft Bot Connector and C#.
// Idk how to do syntax highlighting in stackoverflow // This is my code from the MessageController Class
public async Task<Message> Post([FromBody]Message message)
{
if (message.Type == "Message")
{
return message.CreateReplyMessage($"You said:{message.Text}");
}
else
{
return HandleSystemMessage(message);
}
}
I spent a lot of time researching this issue. As a result, I managed to initiate sending a message on behalf of the bot. My example sends a message to a group conversation. The code below - is rough draft but it works:
class Program
{
static void Main(string[] args)
{
var connector = new ConnectorClient(new Uri("https://skype.botframework.com"));
var conversationId = "19:[email protected]";
var conversation = new ConversationAccount(true, conversationId);
var botAccount = new ChannelAccount("28:74a05skypeBotChannelAccountId", "your bot name");
IMessageActivity message = Activity.CreateMessageActivity();
message.From = botAccount;
message.Conversation = conversation;
message.ChannelId = "skype";
message.Text = "some text";
message.Locale = "en-En";
connector.Conversations.SendToConversation((Activity)message);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With