void Bot_OnMessage(object sender, MessageEventArgs e) { Message message = e.Message; if (message.Text == null) { return; } //Запись в админского бота с логом Console.WriteLine($"@{message.From.Username}: " + message.Text); AdminBot.adminLog(message); //проверка наличия человека в базе Participant participant; using (MobileContext db = new MobileContext()) { //var parts = db.Participants.ToList(); //var books = db.Bookings.ToList(); //db.Bookings.Add(new Booking(books[0].Participant, DateTime.Now, DateTime.Now)); //db.SaveChanges(); //db.Participants.Add(new Participant("Виталий", "RunGiantBoom", new DateTime(2019, 12, 25, 12, 40, 20), "owner")); //db.SaveChanges(); try { participant = db.Participants.Single(c => c.Alias == message.From.Username); } catch (Exception ex) { Message mes = mainbot.SendTextMessageAsync(message.Chat.Id, "Привет. Мы пока не знакомы. Напиши @RunGiantBoom чтобы получить доступ к музкомнате.", replyToMessageId: message.MessageId).Result; AdminBot.adminLog("Exception " + ex.Message); return; } } //вызов команды при её наличии и выход из функции switch (message.Text) { case "/book": BookCommand.ReplyWithImageSchedule(message, mainbot, participant); return; case "/book_text_version": BookCommand.ReplyWithTextSchedule(message, mainbot); return; case "/cancel": CancelCommand.PerformAnswer(message, mainbot, participant); return; case "/start": StartCommand.PerformAnswer(message, mainbot); return; case "/help": HelpCommand.PerformAnswer(message, mainbot); return; case "/checkin": return; case "/status": return; case "Пн": BookCommand.ReplyWithTimeInput(message, mainbot, participant, 0); return; case "Вт": BookCommand.ReplyWithTimeInput(message, mainbot, participant, 1); return; case "Ср": BookCommand.ReplyWithTimeInput(message, mainbot, participant, 2); return; case "Чт": BookCommand.ReplyWithTimeInput(message, mainbot, participant, 3); return; case "Пт": BookCommand.ReplyWithTimeInput(message, mainbot, participant, 4); return; case "Сб": BookCommand.ReplyWithTimeInput(message, mainbot, participant, 5); return; case "Вс": BookCommand.ReplyWithTimeInput(message, mainbot, participant, 6); return; default: //Если команды в сообщении не было, значит пытаемся распарсить время и создать бронь TextInputCommand.Book(message, mainbot, participant); return; } //commands.Add(new HelloCommand()); //Update[] updates = bot.GetUpdatesAsync().Result; //foreach( Update update in updates) //{ // foreach( Command command in commands) // { // command.Execute(update.Message, bot); // } //} }
void Bot_OnError(object sender, ReceiveErrorEventArgs e) { AdminBot.adminLog("error " + e.ApiRequestException.Message); }