я хочу создать простого бота Telegram с помощью Microsoft Bot Framework (C #)
Сейчас я пытаюсь создать список, который может заполнить каждый в групповом чате. Результат, который я хочу:
user a: /add hello
user b: /add world
user a: /show
bot: hello world
user b: /show
bot: hello world
но сейчас у меня есть:
user a: /add hello
user b: /add world
user a: /show
bot: hello
user b: /show
bot: world
[Serializable]
public class RootDialog : IDialog<object>
{
private List<string> list = new List<string>();
public Task StartAsync(IDialogContext context)
{
context.Wait(MessageReceivedAsync);
return Task.CompletedTask;
}
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)
{
var activity = await result as Activity;
switch (Parser.GetCommand(activity))
{
case "/add":
AddNewThingToList(activity);
break;
case "/show":
ShowList(context);
break;
}
context.Wait(MessageReceivedAsync);
}
private void AddNewThingToList(Activity activity)
{
list.Add(Parser.GetAfterCommandText(activity));
}
private void ShowList(IDialogContext context)
{
var response = new StringBuilder();
for (var i = 0; i < list.Count; i++)
{
response.Append($"{i}. {list[i]}{Environment.NewLine}");
}
context.PostAsync(response.ToString());
}
}
Какой самый простой способ создать общий список?