Beispiel #1
0
        private async Task <IActionResult> AddOperatorRule()
        {
            int followerid = Argumetns[0];
            var admin      = AdminFunction.FindAdmin(followerid);

            var followerinfo = FollowerFunction.GetFollower(followerid);

            if (followerinfo.ChatId == BotInfo.OwnerChatId)
            {
                await AnswerCallback("Владелец бота не может обладать правами оператора", true);

                return(OkResult);
            }

            //даем пользователю права оператора. И если есть общий чат то даем пользователю приглашение
            if (admin == null && followerinfo != null && followerinfo.ChatId != BotInfo.ChatId)
            {
                var key = AdminFunction.InsertAdminKey(GeneralFunction.GenerateHash());

                admin = AdminFunction.InsertAdmin(followerid, key);

                if (admin != null && admin.Follower != null)
                {
                    await AnswerCallback("Сохранено!", true);

                    await base.SendMessage(admin.Follower.ChatId,
                                           new BotMessage { TextMessage = "Вы получили права оператора. Нажмите сюда /admin" });

                    if (BotInfo.Configuration != null && BotInfo.Configuration.PrivateGroupChatId != null && BotInfo.Configuration.PrivateGroupChatId != "")
                    {
                        await base.SendMessage(admin.Follower.ChatId,
                                               new BotMessage {
                            TextMessage = "Что бы подключиться в общий чат, перейдите по ссылке "
                                          + await CreateInviteToGroupChat(Convert.ToInt64(BotInfo.Configuration.PrivateGroupChatId), admin.Follower.ChatId)
                        });
                    }
                }


                return(OkResult);
            }


            if (admin != null)
            {
                await AnswerCallback("Этот пользователь уже обладает правами оператора", true);

                return(OkResult);
            }

            else
            {
                return(OkResult);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Подтверждение владельца
        /// </summary>
        /// <returns></returns>
        private async Task <IActionResult> OwnerRegister()
        {
            //ключ регистрации.
            string key = CommandName.Substring(OwnerReg.Length);

            //ключ регистрации это 15 символов из второй части Токена телеграм
            if (base.BotInfo.OwnerChatId == null && base.BotInfo.Token.Split(':').ElementAt(1).Substring(0, 15) == key)
            {
                if (AdminFunction.UpdateOwner(BotInfo.Id, Convert.ToInt32(ChatId)) > 0)
                {
                    await SendMessage(new BotMessage { TextMessage = "Добро пожаловать! Нажмите сюда /admin" });
                }
            }

            return(OkResult);
        }
Beispiel #3
0
        /// <summary>
        /// удалить оператора
        /// </summary>
        /// <returns></returns>
        private async Task <IActionResult> RemoveOperator()
        {
            try
            {
                int id = Convert.ToInt32(base.CommandName.Substring(RemoveOperatorCmd.Length));

                var admin = AdminFunction.GetAdmin(id);

                AdminFunction.RemoveOperator(id);
                //если есть общий чат, кикаем от туда этого оператора
                if (admin != null && BotInfo.Configuration.PrivateGroupChatId != null)
                {
                    await base.KickMember(Convert.ToInt64(BotInfo.Configuration.PrivateGroupChatId), admin.Follower.ChatId);
                }

                return(await SendOperatorList());
            }

            catch
            {
                return(await SendOperatorList());
            }
        }
        public ActionResult Login(LoginModel model)
        {
            if (ModelState.IsValid)
            {
                var dao    = new AdminFunction();
                var result = dao.Login(model.UserName, model.Password);
                if (result != 0)
                {
                    var admin        = dao.GetById(model.UserName);
                    var adminSession = new AdminLogin();
                    adminSession.UserName = admin.UserName;
                    adminSession.id       = admin.id;
                    Session.Add(CommonConstant.ADMIN_SESSION, adminSession);

                    CommonConstant.ADMINNAME = adminSession;
                    return(Redirect("/ADMIN"));
                }
                else
                {
                    ModelState.AddModelError("", "Tài khoản không tồn tại");
                }
            }
            return(View(model));
        }
 public AdminStaff(int Id, string FirstName, string LastName, DateTime JoinedOn, int role = 1) : base(Id, FirstName, LastName, JoinedOn)
 {
     Role = (AdminFunction)role;
 }
Beispiel #6
0
 public Task <string> AdminQueryAsync(AdminFunction adminFunction, BlockParameter blockParameter = null)
 {
     return(ContractHandler.QueryAsync <AdminFunction, string>(adminFunction, blockParameter));
 }