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);
            }
        }