Pull to refresh

Comments 6

А в чем могут быть плюсы/минусы в сравнении с python-telegram-bot?

Насколько я помню python-telegram-bot - синхронная библиотека. Для больших проектов такое негодится) Кроме того, у aiogram намного больше комьюнити. Так что рекомендую отдавать предпочтение aiogram, даже если на старте он кажется сложнее чем python-telegram-bot

Он уже какое-то достаточно большое время асинхронный (с v20+, насколько помню). По комьюнити может быть)

Все в статье хорошо, кроме:

Если можно не использовать регулярки — не используйте

Регулярные выражения, как и любой другой инструмент, могут быть применены удачно, а могут неудачно. Отказываться от их применения просто потому, что у кого-то не получилось, неизвестно на какой задаче и на каких данных - что-то на уровне суеверий 🙂 Соответственно советовать такое не стоит.

Благодарю за отзыв. Тут, скорее, имелось ввиду что если есть возможность использовать магические фильтры, такие как startswith, contains и прочие лучше их использовать. Они надежнее и, практически всегда, заменяют необходимость в регулярках. Ну а так да, если действительно уверены в своих силах, то почему бы и не использовать)

class IsAdmin(BaseFilter):
    def __init__(self, user_ids: int | List[int]) -> None:
        self.user_ids = user_ids

    async def __call__(self, message: Message) -> bool:
        if isinstance(self.user_ids, int):
            return message.from_user.id == self.user_ids
        return message.from_user.id in self.user_ids

Вот тут советую использовать множества (user_ids: set[int]) для id админов, так айдишники все разные и проверка на вхождение во множество - это легкая операция. И уйдете от isinstance.

Sign up to leave a comment.

Articles