Сегодня я хотел реализовать приветственное сообщение для своего чат-бота, когда пользователи входят в чат. Я посмотрел на какой-то учебник и увидел, что это кажется простым. Чат-бот работает, когда я запускаю WebChat в службе Microsoft Azure Bot. Вот скриншот, который показывает, что я сделал. На первом рисунке вы можете видеть, что я помещаю код в активность ConversationUpdate, и когда я запускаю команду build.cmd в терминале, она показывает ошибку, которую вы видите на втором рисунке. Имейте в виду, что я новичок в службе Microsoft Bot. Может ли кто-нибудь сказать мне, что я делаю неправильно? Спасибо
Служба Microsoft Bot — настройка приветственного сообщения
Ответы (1)
из вашего первого сообщения об ошибке изображения говорится, что ваша «Активность» не определена. Вы должны объявить свою активность message
и заменить на activity
.
Обновите метод HandleSystemMessage, чтобы он выглядел следующим образом:
private Activity HandleSystemMessage(Activity activity)
{
if (activity.Type == ActivityTypes.DeleteUserData)
{
// Implement user deletion here
// If we handle user deletion, return a real message
}
else if (activity.Type == ActivityTypes.ConversationUpdate)
{
// Handle conversation state changes, like members being added and removed
IConversationUpdateActivity update = activity;
var client = new ConnectorClient(new Uri(activity.ServiceUrl), new MicrosoftAppCredentials());
if (update.MembersAdded != null && update.MembersAdded.Any())
{
foreach (var newMember in update.MembersAdded)
{
if (newMember.Id != activity.Recipient.Id)
{
var reply = activity.CreateReply();
reply.Text = $"Welcome {newMember.Name}!";
client.Conversations.ReplyToActivityAsync(reply);
}
}
}
}
else if (activity.Type == ActivityTypes.ContactRelationUpdate)
{
// Handle add/remove from contact lists
}
else if (activity.Type == ActivityTypes.Typing)
{
// Handle knowing tha the user is typing
}
else if (activity.Type == ActivityTypes.Ping)
{
}
return null;
}
person
hongguan
schedule
19.11.2018