private async Task <Activity> HandleConversationUpdate(Activity activity) { var connector = new ConnectorClient(new Uri(activity.ServiceUrl)); if (activity.MembersAdded != null && activity.MembersAdded.Any()) { var tBot = new ChannelAccount { Id = WebApiApplication.TelegramBotId, Name = WebApiApplication.TelegramBotName }; var name = string.Empty; if (activity.MembersAdded != null && activity.MembersAdded.Any()) { name = activity.MembersAdded.First().Name; } var reply = activity.CreateReply(); reply.From = tBot; if (!string.IsNullOrEmpty(name)) { reply.Text = $"@{name} ты вообще с какого посткода?"; } else { reply.Text = "А ты вообще с какого посткода?"; } await connector.Conversations.SendToConversationAsync(reply); } else if (activity.MembersRemoved != null && activity.MembersRemoved.Any()) { var tBot = new ChannelAccount { Id = WebApiApplication.TelegramBotId, Name = WebApiApplication.TelegramBotName }; var reply = activity.CreateReply(); reply.From = tBot; var channelData = new JsonModels.ChannelData { method = "sendSticker", parameters = new JsonModels.Parameters { sticker = "CAADAgADXgEAAhmGAwABgntLLoS0m94C" } }; reply.ChannelData = channelData; await connector.Conversations.SendToConversationAsync(reply); } return(null); }
public Activity CreateReplyActivity(Activity activity, bool replyToUser = false) { var reply = activity.CreateReply(); if (!string.IsNullOrEmpty(Text)) { var replyText = Text; if (replyToUser) { var user = activity.From?.Name; replyText = (!string.IsNullOrEmpty(user) ? $"@{user} {Text}" : $"{Text}"); } reply.Text = replyText; } /* Uncomment me if Microsoft fixes Mention * if (!string.IsNullOrEmpty(Text)) * { * var replyText = Text; * * if (replyToUser) * { * var entity = new Entity(); * entity.SetAs(new Mention * { * Text = replyText, * Mentioned = new ChannelAccount * { * Name = activity.From?.Name, * Id = activity.From?.Id * } * }); * * reply.Entities.Add(entity); * } * }*/ else if (!string.IsNullOrEmpty(Sticker)) { var channelData = new JsonModels.ChannelData { method = "sendSticker", parameters = new JsonModels.Parameters { sticker = Sticker } }; reply.ChannelData = channelData; } else { return(null); } return(reply); }