public async Task SendCommandAsync(Enums.Command command) { await SendCommandAsync(Commands.GetCommandSequence((int)command)); }
public async void OnRecieve(object sender, MessageEventArgs e) { if (e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Text) { Enums.Command c = e.Message.Text.ToCommand(); switch (c) { case Enums.Command.start: { if (subscribers.Select(s => s.ChatId).Contains(e.Message.Chat.Id)) { if (subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped == false) { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Бот уже запущен!"); } else if (subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped) { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Ты включил рассылку сигнала! Для остановки напиши /stop"); subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped = false; } } else { await Bot.SendTextMessageAsync(e.Message.Chat.Id, $"Приветсвую, {e.Message.From.FirstName}. Ты включил рассылку сигнала! Для остановки напиши /stop"); subscribers.Add(new BotSubscriber() { ChatId = e.Message.Chat.Id, Stopped = false, UserName = e.Message.From.FirstName }); await SaveSubs(); } break; } case Enums.Command.stop: { if (subscribers.Select(s => s.ChatId).Contains(e.Message.Chat.Id)) { if (subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped) { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Бот уже остановлен!"); } else if (!subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped) { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Ты выключил рассылку сигнала! Для остановки напиши /start"); subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped = true; } } } break; case Enums.Command.unknown: { if (!subscribers.Select(s => s.ChatId).Contains(e.Message.Chat.Id)) { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Неизвестная команда!"); subscribers.Add(new BotSubscriber() { ChatId = e.Message.Chat.Id, Stopped = true, UserName = e.Message.From.FirstName }); await SaveSubs(); } else { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Неизвестная команда!"); } } break; default: break; } } }
public async Task SendCommandAsync(Enums.Command command, byte param) { await SendCommandAsync(Commands.GetCommandSequenceWithParam((int)command, param)); }