Ejemplo n.º 1
0
        private static async Task BanAllUnbanAllMethod1Async(RestrictAction restrictAction,
                                                             string finalTarget,
                                                             MessageEventArgs e, TelegramBotAbstract sender, string lang, string username, DateTime?until)
        {
            if (string.IsNullOrEmpty(finalTarget))
            {
                var lang2 = new Language(new Dictionary <string, string>
                {
                    { "en", "We can't find the target." },
                    { "it", "Non riusciamo a trovare il bersaglio" }
                });
                await sender.SendTextMessageAsync(e.Message.From.Id, lang2, ChatType.Private,
                                                  lang, ParseMode.Default, username : username,
                                                  replyMarkupObject : new ReplyMarkupObject(ReplyMarkupEnum.REMOVE));

                return;
            }

            var done =
                await RestrictUser.BanAllAsync(sender, e, finalTarget, restrictAction, until);

            var text2 = done.Item1.GetLanguage(restrictAction, finalTarget, done.Item3);

            await SendMessage.SendMessageInPrivate(sender, e.Message.From.Id,
                                                   e.Message.From.LanguageCode,
                                                   e.Message.From.Username, text2,
                                                   ParseMode.Default,
                                                   e.Message.MessageId);

            await SendReportOfSuccessAndFailures(sender, e, done);
        }
Ejemplo n.º 2
0
        private static async Task <SuccessWithException> BanAllUnbanAllMethod1Async2Async(TelegramBotAbstract sender,
                                                                                          MessageEventArgs e,
                                                                                          string[] target, string lang, string username, RestrictAction bAN)
        {
            var d1 = GetDateTime(target);

            try
            {
                if (d1 == null)
                {
                    await BanAllUnbanAllMethod1Async(bAN, GetFinalTarget(e, target), e, sender, lang, username,
                                                     null);

                    return(new SuccessWithException(true));
                }

                var d2 = d1.GetValue();
                await BanAllUnbanAllMethod1Async(bAN, GetFinalTarget(e, target), e, sender, lang, username, d2);
            }
            catch (Exception ex)
            {
                var ex2 = Concat(ex, d1);
                return(new SuccessWithException(false, ex2));
            }

            return(new SuccessWithException(true, d1.GetExceptions()));
        }
        internal Language GetLanguage(RestrictAction ban_true_unban_false, string target, int nExceptions)
        {
            switch (ban_true_unban_false)
            {
            case RestrictAction.UNBAN:
            {
                var text2 = new Language(new Dictionary <string, string>
                    {
                        {
                            "en",
                            "Target " + target + " unbanned from " + done.Count + " groups" + "\n" +
                            "not unbanned from " + failed.Count + " groups" + "\n" +
                            "exception number = " + nExceptions
                        },

                        {
                            "it",
                            "Target " + target + " sbannato da " + done.Count + " gruppi" + "\n" +
                            "non sbannato da " + failed.Count + " gruppi" + "\n" +
                            "numero eccezioni = " + nExceptions
                        }
                    });

                return(text2);
            }

            case RestrictAction.BAN:
            {
                var text2 = new Language(new Dictionary <string, string>
                    {
                        {
                            "en",
                            "Target " + target + " banned from " + done.Count + " groups" + "\n" +
                            "not banned from " + failed.Count + " groups" + "\n" +
                            "exception number = " + nExceptions
                        },

                        {
                            "it",
                            "Target " + target + " bannato da " + done.Count + " gruppi" + "\n" +
                            "non bannato da " + failed.Count + " gruppi" + "\n" +
                            "numero eccezioni = " + nExceptions
                        }
                    });

                return(text2);
            }

            case RestrictAction.MUTE:
            {
                var text2 = new Language(new Dictionary <string, string>
                    {
                        {
                            "en",
                            "Target " + target + " muted from " + done.Count + " groups" + "\n" +
                            "not muted from " + failed.Count + " groups" + "\n" +
                            "exception number = " + nExceptions
                        },

                        {
                            "it",
                            "Target " + target + " mutato da " + done.Count + " gruppi" + "\n" +
                            "non mutato da " + failed.Count + " gruppi" + "\n" +
                            "numero eccezioni = " + nExceptions
                        }
                    });

                return(text2);
            }
            }

            return(null);
        }