Beispiel #1
0
        public async Task ExecuteAsync(BotUpdateInput input)
        {
            string message = input.Message.Text.Trim();

            message = message.Replace((message + " ").Split(' ')[0], string.Empty).Trim();

            List <string> values = message.Contains(" ") ? message.Split(' ').ToList() : new List <string>()
            {
                message
            };

            UserEntity user = _userRepository.FindUser(input.Message.Chat.Id.ToString());

            if (user == null)
            {
                user = new UserEntity();
            }

            user.ChatId    = input.Message.Chat.Id.ToString();
            user.Username  = input.Message.From.Username;
            user.FirstName = input.Message.From.FirstName;
            user.LastName  = input.Message.From.LastName;

            if (values[0] != "normal!123" && values[0] != "admin!123")
            {
                await _messageService.SendMessageAsync(input.Message.Chat.Id.ToString(), "Invalid key!");
            }

            if (values[0] == "normal!123")
            {
                user.Type = UserTypeEnum.Normal;
            }
            else if (values[0] == "admin!123")
            {
                user.Type = UserTypeEnum.Admin;
            }

            if (string.IsNullOrEmpty(user.Id))
            {
                _userRepository.InsertUser(user);
            }
            else
            {
                _userRepository.UpdateUser(user);
            }

            _socketServiceManager.UpdateUsers();

            await _messageService.SendMessageAsync(user.ChatId, "Success!");

            var admins = _userRepository.FindUsers().Where(x => x.Type == UserTypeEnum.Admin);

            foreach (var admin in admins)
            {
                await _messageService.SendMessageAsync(admin.ChatId, $"{input.Message.From.Username} is added to users!");
            }
        }
Beispiel #2
0
        public async Task StartAsync()
        {
            try
            {
                await Task.Run(() =>
                {
                    _socketServiceManager.UpdateSymbols();
                    _socketServiceManager.UpdatePrices();
                    _socketServiceManager.UpdateUsers();
                    _socketServiceManager.UpdateSubscriptions();
                    _socketServiceManager.UpdateAlerts();

                    _socketServiceManager.SubscribeAll();
                });
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }