private void BanUser(TelegramBotClient botClient)
 {
     userTwo.BanDate     = DateTime.Now.AddDays(2);
     userTwo.BanDescript = "Вы были забанены администрацией UBC!";
     userTwo.PayConfirm  = false;
     userTwo.PayDate     = System.DateTime.Today;
     db.Save();
     IsBanUser.ThisBan(botClient, _message, userTwo, db.GetSettings());
 }
        private void ChangeSettings()
        {
            Settings settings = db.GetSettings();

            settings.Coin += 1;
            db.Save();
        }
Пример #3
0
        public void SendMessage(TelegramBotClient botClient)
        {
            InlineButton inlineButton = new InlineButton();

            if (user.IsAdmin == 3)
            {
                botClient.EditMessage(_message.From.Id, user.MessageID, "Пользователь замучен на 2 деня!", "36 - LimitedUser", replyMarkup: inlineButton.InteractionUsers(userTwo, db._featuredUserNews.Any(p => p.UserId == userTwo.ID && p.UserWhoAddedId == user.ID), db.GetFeaturedUsers(user, userTwo), isAdmin: true));
            }
            else if (userTwo.IsAdmin != 2 && userTwo.IsAdmin != 3)
            {
                botClient.EditMessage(_message.From.Id, user.MessageID, "Пользователь замучен на 2 деня!", "36 - LimitedUser", replyMarkup: inlineButton.InteractionUsers(userTwo, db._featuredUserNews.Any(p => p.UserId == userTwo.ID && p.UserWhoAddedId == user.ID), db.GetFeaturedUsers(user, userTwo), isAdmin: true));
            }
            else
            {
                user.IsAdmin    = 0;
                userTwo.BanDate = System.DateTime.Today;
                if (user.BanDate.Date < System.DateTime.Today)
                {
                    user.BanDate = System.DateTime.Now;
                }
                user.BanDate = user.BanDate.AddDays(30);
                db.Save();
                Settings settings = db.GetSettings();
                IsBanUser.ThisBan(botClient, _message, user, settings);

                System.String temp = "Администратор " + user.IsAdmin + " уровня: @" + user.Username + " пытался забанить другого администратора " + "\nID: " + userTwo.ID + "\nФИО: " + userTwo.FIO + "\nНомер: " + user.Number + "\nС данного администратора снята админка, так же он был забанен во всех чатах! Если бан был выдан случайно пропишите /UbBan " + user.ID;

                Telegram.Bot.Types.ReplyMarkups.InlineKeyboardMarkup answer = inlineButton.AdminPanelAppeal(_message, user.ID, _message.Data);
                botClient.SendText(settings.ChannelAdmin, temp, replyMarkup: answer);
            }
        }
        public void SendMessage(TelegramBotClient botClient)
        {
            InlineButton inlineButton = new InlineButton();
            Settings     settings     = db.GetSettings();

            botClient.EditMessage(_message.From.Id, user.MessageID, "Количество постов в день: " + channel.PostCount + "\nВведите общее значение для этого чата или выберете без ограничения: ", "36 - LimitedUser", replyMarkup: inlineButton.LimitedChannel(channel));
        }
Пример #5
0
        public void SendMessage(TelegramBotClient botClient)
        {
            botClient.DeleteMessage(_message.From.Id, _message.MessageId, "25 - Info");
            DataBase     db           = Singleton.GetInstance().Context;
            Settings     settings     = db.GetSettings();
            InlineButton inlineButton = new InlineButton();
            String       Text         = $"Здравсвуйте {_message.From.FirstName}, мы подготовили для вас более детальную информацию \"О нас\"\n" + "\n\n/start - запуск бота!\n" + settings.Regulations;

            botClient.SendText(_message.From.Id, Text, replyMarkup: inlineButton.Closeinfo);
        }
Пример #6
0
        private void ChangeSettings()
        {
            Settings settings = db.GetSettings();

            if (settings.Coin != 0)
            {
                settings.Coin -= 1;
                db.Save();
            }
        }
Пример #7
0
        public void SendMessage(TelegramBotClient botClient)
        {
            InlineButton inlineButton = new InlineButton();
            Settings     settings     = db.GetSettings();
            String       Text         = $"Информация о компании!\n{settings.Regulations}";

            if (IsBan.Ban(botClient, _message) == true)
            {
                botClient.EditMessage(user.ID, user.MessageID, Text, "39 - AddPhotoInDataBase", user, inlineButton.BackToAccauntMenu);
            }
        }
Пример #8
0
        public static System.String BanAccaunt(User user)
        {
            DataBase db       = Singleton.GetInstance().Context;
            Settings settings = db.GetSettings();

            System.String temp = "🚪Личный кабинет🚪\n🆔: "
                                 + user.ID + "\n🖌ФИО: " + user.FIO;
            temp += user.Username != "Нет!" ? "\n🧸Username: @" + user.Username : "******";
            temp += "\n📱Номер: "
                    + user.Number + "\n⭐️Рейтинг: "
                    + user.SumRating + "\n✖️Бан: "
                    + user.BanDate + " дней\nПричина: "
                    + user.BanDescript
                    + " \n\nВы можете подать апелляцию, либо оплатить бан, после чего вы сразу будете разблокированы!\n\nСтоимость разбана: 100 грн\n\nТак же вы можете добавить в чат " + settings.AddUser + " человек и вы так же будете разбанены!";
            return(temp);
        }
Пример #9
0
        public override System.Object Handle(System.Int32 request, TelegramBotClient botClient, System.Object message)
        {
            if (request == (System.Int32)SetChain.PhraseUser)
            {
                Message  _message = message as Message;
                DataBase db       = Singleton.GetInstance().Context;

                GetUser(_message);

                Settings settings = db.GetSettings();

                ChekText(botClient, _message, user, settings);

                return(null);
            }
            else
            {
                return(base.Handle(request, botClient, message));
            }
        }
        internal void SendMessage(TelegramBotClient botClient, Message _message)
        {
            DataBase db = Singleton.GetInstance().Context;

            Settings settings = db.GetSettings();

            InlineButton inlineBatton = new InlineButton();

            System.String temp = InfoUser.Search(userTwo, user);

            botClient.DeleteMessage(_message.From.Id, _message.MessageId, "33 - MessageUserBot");
            if (user.IsAdmin > 0)
            {
                botClient.EditMessage(_message.From.Id, user.MessageID, temp, "45 - MessageUserBot", user, replyMarkup: inlineBatton.InteractionUsers(userTwo, db._featuredUserNews.Any(p => p.UserId == userTwo.ID && p.UserWhoAddedId == user.ID), db.GetFeaturedUsers(user, userTwo), isAdmin: true));
            }
            else
            {
                botClient.EditMessage(_message.From.Id, user.MessageID, temp, "45 - MessageUserBot", user, replyMarkup: inlineBatton.InteractionUsers(userTwo, db._featuredUserNews.Any(p => p.UserId == userTwo.ID && p.UserWhoAddedId == user.ID), db.GetFeaturedUsers(user, userTwo), isAdmin: false));
            }
        }
        public async void Execute(TelegramBotClient botClient, System.Object message)
        {
            Message _message = message as Message;

            try
            {
                DataBase db   = Singleton.GetInstance().Context;
                User     user = db.GetUser(_message.From.Id); if (IsNullDataBase.IsNull(botClient, _message, user))
                {
                    return;
                }
                Settings setting = db.GetSettings();

                botClient.DeleteMessage(_message.Chat.Id, _message.MessageId, "44");
                if (Text != null && user.IsAdmin > 0)
                {
                    User userTwo = db.GetUser(System.Convert.ToInt32(Text));

                    if (userTwo != null)
                    {
                        if (user.IsAdmin == 3)
                        {
                            userTwo.BanDate     = System.DateTime.Now.AddDays(30);
                            userTwo.BanDescript = "Вы были забанены администрацией UBC!";
                            userTwo.PayConfirm  = false;
                            userTwo.PayDate     = System.DateTime.Today;
                            db.Save();
                            IsKick.ThisKick(botClient, userTwo);

                            System.String temp = "Администратор " + user.IsAdmin + " уровня: @" + user.Username + " кикнул пользователя!" + "\nID: " + userTwo.ID + "\nФИО: " + userTwo.FIO + "\nНомер: " + user.Number;

                            botClient.SendText(setting.ChannelAdmin, temp, userTwo, true);
                        }
                        else if (userTwo.IsAdmin != 2 && userTwo.IsAdmin != 3)
                        {
                            userTwo.BanDate     = System.DateTime.Now.AddDays(30);
                            userTwo.BanDescript = "Вы были забанены администрацией UBC!";
                            userTwo.PayConfirm  = false;
                            userTwo.PayDate     = System.DateTime.Today;
                            db.Save();
                            IsKick.ThisKick(botClient, userTwo);

                            System.String temp = "Администратор " + user.IsAdmin + " уровня: @" + user.Username + " кикнул пользователя!" + "\nID: " + userTwo.ID + "\nФИО: " + userTwo.FIO + "\nНомер: " + user.Number;

                            botClient.SendText(setting.ChannelAdmin, temp, userTwo, true);
                        }
                        else
                        {
                            user.IsAdmin = 0;
                            if (user.BanDate.Date < System.DateTime.Today)
                            {
                                user.BanDate = System.DateTime.Now;
                            }
                            user.BanDate = user.BanDate.AddDays(30);
                            System.String temp = "Админ " + user.FIO + "\nID: " + user.ID + "\nПопытался заблокировать администратора!\nС данного администратора снята админка, так же он был забанен во всех чатах! Если бан был выдан случайно пропишите /UbBan " + user.ID;
                            IsBanUser.ThisBan(botClient, _message, user, setting);

                            botClient.SendText(setting.ChannelAdmin, temp, user, true);
                        }
                        db.Save();
                    }
                    else
                    {
                        botClient.SendText(user.ID, "Пользователь не найден!");
                    }
                }
                else if (user.IsAdmin > 0)
                {
                    botClient.SendText(user.ID, "Перешлите сообщения от пользователя которого хотите кикнуть!");
                    user.Chain = 9;
                }
            }
            catch (System.Exception ex)
            {
                Log.Logging(ex);
            }
        }
        public async void Execute(TelegramBotClient botClient, System.Object message)
        {
            Message      _message     = message as Message;
            InlineButton inlineButton = new InlineButton();

            try
            {
                DataBase db   = Singleton.GetInstance().Context;
                User     user = db.GetUser(_message.From.Id); if (IsNullDataBase.IsNull(botClient, _message, user))
                {
                    return;
                }

                botClient.DeleteMessage(_message.Chat.Id, _message.MessageId, "258");

                if (Text != null && user.IsAdmin > 0)
                {
                    User userTwo = db.GetUser(System.Convert.ToInt64(Text));

                    if (userTwo != null)
                    {
                        userTwo.BanDate = System.DateTime.Now;
                        IsUnBan.ThisUnBan(botClient, userTwo);
                        db.Save();

                        IsUnBan.ThisUnBan(botClient, userTwo);

                        Settings setting = db.GetSettings();

                        System.String temp = "Администратор " + user.IsAdmin + " уровня: @" + user.Username + " разбанил пользователя!" + "\nID: " + userTwo.ID + "\nФИО: " + userTwo.FIO + "\nНомер: " + user.Number;
                        await botClient.SendTextMessageAsync(setting.ChannelAdmin, temp);
                    }
                    else
                    {
                        try
                        {
                            Message mes = await botClient.EditMessageTextAsync(user.ID, user.MessageID, "Пользователь не найден!", replyMarkup : inlineButton.BackToSettingAdmin);

                            user.MessageID = mes.MessageId;
                        }
                        catch
                        {
                            Message mes = await botClient.SendTextMessageAsync(user.ID, "Пользователь не найден!", replyMarkup : inlineButton.BackToSettingAdmin);

                            user.MessageID = mes.MessageId;
                        }
                        db.Save();
                    }
                }
                else if (user.IsAdmin > 0)
                {
                    try
                    {
                        Message mes = await botClient.EditMessageTextAsync(user.ID, user.MessageID, "Перешлите сообщения от пользователя которого хотите разбанить!", replyMarkup : inlineButton.BackToSettingAdmin);

                        user.Chain     = 1150;
                        user.MessageID = mes.MessageId;
                    }
                    catch
                    {
                        Message mes = await botClient.SendTextMessageAsync(user.ID, "Перешлите сообщения от пользователя которого хотите разбанить!", replyMarkup : inlineButton.BackToSettingAdmin);

                        user.Chain     = 1150;
                        user.MessageID = mes.MessageId;
                    }

                    db.Save();
                }
            }
            catch (System.Exception ex)
            {
                Log.Logging(ex);
            }
        }
        public async void Execute(TelegramBotClient botClient, System.Object message)
        {
            Message      _message     = message as Message;
            InlineButton inlineButton = new InlineButton();

            try
            {
                DataBase db   = Singleton.GetInstance().Context;
                User     user = db.GetUser(_message.From.Id); if (IsNullDataBase.IsNull(botClient, _message, user))
                {
                    return;
                }

                botClient.DeleteMessage(_message.Chat.Id, _message.MessageId, "135");

                if (Text != null && user.IsAdmin > 0)
                {
                    User     userTwo = db.GetUser(System.Convert.ToInt32(Text));
                    Settings setting = db.GetSettings();

                    if (userTwo != null)
                    {
                        if (user.IsAdmin == 3)
                        {
                            if (userTwo.BanDate.Date < System.DateTime.Today)
                            {
                                userTwo.BanDate = System.DateTime.Now;
                            }
                            userTwo.BanDate     = userTwo.BanDate.AddDays(Count);
                            userTwo.BanDescript = "Вы были забанены администрацией UBC!";
                            userTwo.PayConfirm  = false;
                            userTwo.PayDate     = System.DateTime.Today;

                            IsBanUser.ThisBan(botClient, _message, userTwo, setting);

                            System.String temp = "Администратор " + user.IsAdmin + " уровня: @" + user.Username + " забанил пользователя на " + Count + " дней!" + "\nID: " + userTwo.ID + "\nФИО: " + userTwo.FIO + "\nНомер: " + user.Number;

                            await botClient.SendTextMessageAsync(setting.ChannelAdmin, temp);
                        }
                        else if (userTwo.IsAdmin != 2 && userTwo.IsAdmin != 3)
                        {
                            if (userTwo.BanDate.Date < System.DateTime.Today)
                            {
                                userTwo.BanDate = System.DateTime.Now;
                            }
                            userTwo.BanDate     = userTwo.BanDate.AddDays(Count);
                            userTwo.BanDescript = "Вы были забанены администрацией UBC!";
                            userTwo.PayConfirm  = false;
                            userTwo.PayDate     = System.DateTime.Today;

                            IsBanUser.ThisBan(botClient, _message, userTwo, setting);

                            System.String temp = "Администратор " + user.IsAdmin + " уровня: @" + user.Username + " забанил пользователя на " + Count + " дней!" + "\nID: " + userTwo.ID + "\nФИО: " + userTwo.FIO + "\nНомер: " + user.Number;

                            await botClient.SendTextMessageAsync(setting.ChannelAdmin, temp);
                        }
                        else
                        {
                            user.IsAdmin = 0;
                            if (user.BanDate.Date < System.DateTime.Today)
                            {
                                user.BanDate = System.DateTime.Now;
                            }
                            user.BanDate = user.BanDate.AddDays(Count);
                            IsBanUser.ThisBan(botClient, _message, user, setting);

                            System.String temp = "Администратор " + user.IsAdmin + " уровня: @" + user.Username + " пытался забанить другого администратора на " + Count + " дней!" + "\nID: " + userTwo.ID + "\nФИО: " + userTwo.FIO + "\nНомер: " + user.Number + "\nС данного администратора снята админка, так же он был забанен во всех чатах! Если бан был выдан случайно пропишите /UbBan " + user.ID;

                            Telegram.Bot.Types.ReplyMarkups.InlineKeyboardMarkup answer = inlineButton.AdminPanelAppeal(message, user.ID, _message.Text);
                            await botClient.SendTextMessageAsync(setting.ChannelAdmin, temp, replyMarkup : answer);
                        }

                        db.Save();
                    }
                    else
                    {
                        try
                        {
                            Message mes = await botClient.EditMessageTextAsync(user.ID, user.MessageID, "Пользователь не найден!", replyMarkup : inlineButton.BackToSettingAdmin);

                            user.MessageID = mes.MessageId;
                        }
                        catch
                        {
                            Message mes = await botClient.SendTextMessageAsync(user.ID, "Пользователь не найден!", replyMarkup : inlineButton.BackToSettingAdmin);

                            user.MessageID = mes.MessageId;
                        }
                        db.Save();
                    }
                }
                else if (Name == "/Ban" && user.IsAdmin > 0)
                {
                    try
                    {
                        Message mes = await botClient.EditMessageTextAsync(user.ID, user.MessageID, "Перешлите сообщения от пользователя которого хотите забанить!", replyMarkup : inlineButton.BackToSettingAdmin);

                        user.Chain     = 1050;
                        user.MessageID = mes.MessageId;
                    }
                    catch
                    {
                        Message mes = await botClient.SendTextMessageAsync(user.ID, "Перешлите сообщения от пользователя которого хотите забанить!", replyMarkup : inlineButton.BackToSettingAdmin);

                        user.Chain     = 1050;
                        user.MessageID = mes.MessageId;
                    }

                    db.Save();
                }
            }
            catch (System.Exception ex)
            {
                Log.Logging(ex);
            }
        }
Пример #14
0
        public async void ChekRegister(TelegramBotClient bot, System.Object message)
        {
            _message  = message as Message;
            db        = Singleton.GetInstance().Context;
            botClient = bot;

            try
            {
                Channel channel = db.GetChannel(_message);
                if (channel == null && _message.Chat.Type == Telegram.Bot.Types.Enums.ChatType.Supergroup)
                {
                    Channel[] channels = db.GetChannels();

                    Chat chat = await botClient.GetChatAsync(_message.Chat.Id);

                    System.String NewChannel = $"Здравствуйте у нас появился новая группа @{_message.Chat.Username}!\n{chat.Description}";

                    foreach (Channel ch in channels)
                    {
                        botClient.SendText(ch.IDChannel, NewChannel);
                    }

                    db.SetChannel(chat);
                    db.Save();

                    channel = db.GetChannel(_message);

                    await Task.Run(() => AddNewChannel.SetTmessage());
                }

                User user = db.GetUser(_message.From.Id);

                TMessage tmessage = db.GetMessage(_message);
                Settings settings = db.GetSettings();

                if ((user == null || user.FIO == null || user.Number == "0") && _message.Chat.Type != ChatType.Private)
                {
                    botClient.DeleteMessage(_message.Chat.Id, _message.MessageId, "Невозможно удалить сообщение так как оно не было отправленное!");

                    System.String textChannel = $"❗Здравствуйте, что бы писать в чатах UBC - пройдите регистрацию в боте, это занимает меньше 1 минуты.\nСсылка на бота/регистрацию: @{botClient.GetMeAsync().Result.Username}\n\n📜Полный список чатов UBC @allUBC";


                    try
                    {
                        if ((_message.Type != MessageType.Photo) || (_message.Caption != null))
                        {
                            await botClient.SendTextMessageAsync(_message.From.Id, textChannel,
                                                                 replyMarkup : _inlineButton.Register);
                        }
                    }
                    catch
                    {
                        Message mes = null;

                        if ((channel.IDMessage == 0 && _message.Type != MessageType.Photo) ||
                            (_message.Caption != null && channel.IDMessage == 0))
                        {
                            mes = await botClient.SendTextMessageAsync(_message.Chat.Id, textChannel);

                            channel.IDMessage = mes.MessageId;
                            db.SetValue(new ChannelMessage()
                            {
                                ChannelID         = channel.IDChannel,
                                MessageId         = mes.MessageId,
                                DateMessageDelete = DateTime.Now.AddSeconds(20)
                            });

                            db.Save();
                        }
                    }
                }
                else if (user.Chain > 0 && user.Chain < (System.Int32)Advertising.SetChain.GetPayments && _message.Chat.Type == Telegram.Bot.Types.Enums.ChatType.Private)
                {
                    FIO fIO = new FIO();
                    fIO.SetNext(
                        new Number()).SetNext(
                        new ChaingeFIO()).SetNext(
                        new ChaingeNumber()).SetNext(
                        new SetReviewsName()).SetNext(
                        new SearchIDUser()).SetNext(
                        new SearchNumberUser()).SetNext(
                        new ChangeReviewsName()).SetNext(
                        new SetSendComplaint()).SetNext(
                        new SetSendAppeal()).SetNext(
                        new Admin()).SetNext(
                        new SetAdminPassword()).SetNext(
                        new Ban()).SetNext(
                        new KickUser()).SetNext(
                        new AdminAdd()).SetNext(
                        new AdminDelete()).SetNext(
                        new PostCount()).SetNext(
                        new WordAdd()).SetNext(
                        new AddUsers()).SetNext(
                        new FludUser()).SetNext(
                        new ChannelAdd()).SetNext(
                        new NewAdmin2Lvl()).SetNext(
                        new WordDelete());

                    ChainOfResposnsibility(botClient, fIO, message, user);
                }
                else if (user.Chain >= (System.Int32)Advertising.SetChain.GetPayments && _message.Chat.Type == Telegram.Bot.Types.Enums.ChatType.Private)
                {
                    Advertising.Payments payments = new Advertising.Payments();
                    payments.SetNext(
                        new AddPhotoAdvertising()).SetNext(
                        new ContentEditorText()).SetNext(
                        new SetUserInTransaction()).SetNext(
                        new SetBlockChain()).SetNext(
                        new SetDiscriptionInTransaction()).SetNext(
                        new SetIdTransaction()).SetNext(
                        new SetPublicKeyUserTwo()).SetNext(
                        new AddPhotoChannel()).SetNext(
                        new AddCategotyInDataBase()).SetNext(
                        new AddChannelInCategoryInDataBase()).SetNext(
                        new LinkChat()).SetNext(
                        new LinkChatPharase()).SetNext(
                        new AnaliticsPhraseUser()).SetNext(
                        new AdminCallBlockchainUser()).SetNext(
                        new MessageUserBot()).SetNext(
                        new AddAccauntBotUser()).SetNext(
                        new AddAccauntCode()).SetNext(
                        new PostCountChannel()).SetNext(
                        new ThisRegulationsUBC()).SetNext(
                        new ThisDeleteChat()).SetNext(
                        new ThisDeleteCategory()).SetNext(
                        new SetPriceTime()).SetNext(
                        new SetPriceStandartMessage()).SetNext(
                        new SetStaticTimePinnedPrice()).SetNext(
                        new SetPriceStatic()).SetNext(
                        new SetStaticTimePinnedNotificationPrice()).SetNext(
                        new NotificationTextChain()).SetNext(
                        new NotificationButtonChain()).SetNext(
                        new PictureNotificationChain());

                    payments.Handle(user.Chain, botClient, message);
                }
                else
                {
                    FludChain fludChain = new FludChain();
                    fludChain.SetNext(
                        new AddPeopleChain()).SetNext(
                        new PostNullChain()).SetNext(
                        new CheckChannelChain()).SetNext(
                        new CheckWordAdnLinkChain()).SetNext(
                        new CheckInviteChain()).SetNext(
                        new CheckPhotoChain());

                    fludChain.Handle(botClient, message, user, settings, tmessage, channel);
                }
            }
            catch (System.Exception ex)
            {
                Log.Logging("Класс Analize - " + ex);
            }
        }