Ejemplo n.º 1
0
async def ban_user(chat: Chat, target: User, admin: User, duration: timedelta,
                   comment: str, bot: Bot):
    await restrict(bot=bot,
                   chat=chat,
                   target=target,
                   admin=admin,
                   duration=duration,
                   comment=comment,
                   type_restriction=TypeRestriction.ban)
    text = "Пользователь {user} попал в бан этого чата.".format(
        user=target.mention_link)
    if duration < config.FOREVER_RESTRICT_DURATION:
        text += " Он сможет вернуться через {duration}".format(
            duration=format_timedelta(duration))
    return text
Ejemplo n.º 2
0
async def ro_user(chat: Chat, target: User, admin: User, duration: timedelta,
                  comment: str, bot: Bot):
    await restrict(
        bot=bot,
        chat=chat,
        target=target,
        admin=admin,
        duration=duration,
        comment=comment,
        type_restriction=TypeRestriction.ro,
    )
    return "Пользователь {user} сможет <b>только читать</b> сообщения на протяжении {duration}".format(
        user=target.mention_link,
        duration=format_timedelta(duration),
    )
Ejemplo n.º 3
0
async def render_text_auto_restrict(count_auto_restrict: int, target: User):
    # TODO чото надо сделать с этим чтобы понятно объяснить за что RO и что будет в следующий раз
    text = "{target}, Уровень вашей кармы стал ниже {negative_limit}.\n".format(
        target=target.mention_link,
        negative_limit=config.NEGATIVE_KARMA_TO_RESTRICT,
    )
    if it_was_last_one_auto_restrict(count_auto_restrict):
        text += "Это был последний разрешённый раз. Теперь вы получаете вечное наказание."
    else:
        text += (
            "За это вы наказаны на срок {duration}\n"
            "Вам установлена карма {karma_after}. "
            "Если Ваша карма снова достигнет {karma_to_restrict} "
            "Ваше наказание будет строже.".format(
                duration=format_timedelta(config.RESTRICTIONS_PLAN[count_auto_restrict - 1].duration),
                karma_after=config.KARMA_AFTER_RESTRICT,
                karma_to_restrict=config.NEGATIVE_KARMA_TO_RESTRICT,
            )
        )
    return text
Ejemplo n.º 4
0
 def printable_duration(self):
     return format_timedelta(self.duration)