public async Task Execute(Message message, TelegramBotClient client)
        {
            // if not exist
            // Add student chat id
            var isExist = await _repository.UserDataExistsAsync(message.From.Id);

            if (!isExist)
            {
                // user not in database
                // check if it student
                var student = await _repository.GetUserByTelegramId(message.Chat.Id);

                if (student == null)
                {
                    // якщо користувач авторизований не через телеграм, то він отримає це повідомлення
                    // student not in students
                    await client.SendTextMessageAsync(message.Chat.Id, "Привіт! Цей бот буде надсилати тобі сповіщення про пари з сайту <domain>. Спочатку тобі потрібно зарєструватись тут з допомогою телеграму", parseMode : ParseMode.Markdown);
                }
                await _repository.AddUserTelegramChatInfoAsync(new TelegramData
                {
                    Id             = Guid.NewGuid(),
                    StudentId      = student.Id,
                    TelegramId     = student.Telegram_Id,
                    TelegramChatId = message.Chat.Id
                });
            }
            var chatId = message.Chat.Id;
            await client.SendTextMessageAsync(chatId, "Привіт! Цей бот буде надсилати тобі сповіщення про пари з сайту <domain>", parseMode : ParseMode.Markdown);
        }
Example #2
0
        public async Task Execute(Message message, TelegramBotClient client)
        {
            var student = await _repository.GetUserByTelegramId(message.Chat.Id);

            if (student == null)
            {
                await Bot.BotClient.SendTextMessageAsync(message.Chat.Id, "Тут текст з проханням зарєєструватись на сайті");
            }

            await _notificationRepository.DisableNotifications(student.Id);

            await Bot.BotClient.SendTextMessageAsync(message.Chat.Id, "Сповіщення вимкнено!");
        }
Example #3
0
        public async Task <IActionResult> GetStudentGroup([FromBody] TelegramUser model)
        {
            // get student by telegram id
            // get group
            // if group not exists - 404
            var student = await _repository.GetUserByTelegramId((long)model.id);

            if (student == null)
            {
                return(NotFound());
            }
            return(Ok(new GroupDto
            {
                GroupName = student.Group.Group_Name
            }));
        }
Example #4
0
        public async Task Execute(Message message, TelegramBotClient client)
        {
            // todo перевірка наяності свовіщень
            Console.WriteLine("We are here !");
            var student = await _repository.GetUserByTelegramId(message.From.Id);

            var notificationEntity = new NotificationsSettings
            {
                StudentId         = student.Id,
                IsNotificationsOn = false
            };
            await _repository.UpdateNotification(notificationEntity);

            await _repository.SaveAsync();

            await _jobsManager.RefreshJobs();

            await Bot.BotClient.SendTextMessageAsync(message.Chat.Id, "Сповіщення вимкнено !");
        }
Example #5
0
        public async Task Execute(Message message, TelegramBotClient client)
        {
            // todo перевірка наявності сповіщень
            var student = await _repository.GetUserByTelegramId(message.From.Id);

            if (student == null)
            {
                // todo Bot : винести текст команд в статичний класс
                await Bot.BotClient.SendTextMessageAsync(message.Chat.Id, "Щоб користуватись сповіщеннями, їх потрібно увімкнути на сайті <domain> ");
            }
            var notificationEntity = new NotificationsSettings
            {
                StudentId         = student.Id,
                IsNotificationsOn = true
            };
            await _repository.UpdateNotification(notificationEntity);

            await _repository.SaveAsync();

            await _jobsManager.RefreshJobs();

            await Bot.BotClient.SendTextMessageAsync(message.Chat.Id, "Сповіщення увімкнено !");
        }