├── .coveragerc ├── .env.example ├── .flake8 ├── .github └── workflows │ └── linters.yml ├── .gitignore ├── AGENTS.md ├── Dockerfile ├── Dockerfile.prod ├── LICENSE ├── README.md ├── alembic.ini ├── alembic ├── README ├── env.py ├── script.py.mako └── versions │ ├── 2023-12-27_init.py │ ├── 2023-12-28_meme.py │ ├── 2023-12-29_user.py │ ├── 2023-12-30_meme_raw_telegram_content_optional.py │ ├── 2023-12-30_user_meme_reaction.py │ ├── 2024-01-02_raw_vk_memes.py │ ├── 2024-01-04_meme_source_added_by.py │ ├── 2024-01-08_meme_stats.py │ ├── 2024-01-08_user_stats.py │ ├── 2024-01-28_meme_stats_raw_impr_rank.py │ ├── 2024-01-28_remove_language_table.py │ ├── 2024-01-28_remove_language_table_fks.py │ ├── 2024-02-24_add_inviter_id.py │ ├── 2024-03-02_popup_logs_meme_source_stats.py │ ├── 2024-03-07_extension_pg_pg_trgm.py │ ├── 2024-03-07_inlinesearch.py │ ├── 2024-03-09_ig_parser.py │ ├── 2024-03-16_user_chat_membership.py │ ├── 2024-03-31_more_user_stats.py │ ├── 2024-05-06_meme_raw_upload.py │ ├── 2024-05-12_meme_stats_default.py │ ├── 2024-05-12_more_meme_stats.py │ ├── 2024-05-26_treasury.py │ ├── 2024-07-08_meme_stats_add_lr_smoothed.py │ ├── 2024-08-04_index_reaction_id.py │ ├── 2024-09-30_deep_link_log.py │ ├── 2024-10-09_add_meme_indexes.py │ ├── 2024-11-30_big_integers_in.py │ └── 2024-11-30_log_message_tg.py ├── docker-compose.prod.yml ├── docker-compose.yml ├── flow_deployments ├── __init__.py ├── broadcasts.py ├── crossposting.py ├── parsers.py ├── rewards.py ├── stats.py └── storage.py ├── gunicorn └── gunicorn_conf.py ├── justfile ├── logging.ini ├── logging_production.ini ├── pyproject.toml ├── pytest.ini ├── requirements ├── base.txt ├── dev.txt └── prod.txt ├── scripts ├── downgrade ├── format ├── makemigrations ├── migrate ├── postgres │ ├── backup │ └── restore ├── start-dev.sh └── start-prod.sh ├── src ├── __init__.py ├── broadcasts │ ├── __init__.py │ └── service.py ├── config.py ├── constants.py ├── crossposting │ ├── constants.py │ └── service.py ├── database.py ├── exceptions.py ├── flows │ ├── __init__.py │ ├── broadcasts │ │ ├── __init__.py │ │ └── meme.py │ ├── crossposting │ │ ├── __init__.py │ │ └── meme.py │ ├── parsers │ │ ├── __init__.py │ │ ├── ig.py │ │ ├── tg.py │ │ └── vk.py │ ├── rewards │ │ ├── __init__.py │ │ ├── daily.py │ │ ├── service.py │ │ └── uploaded_memes.py │ ├── stats │ │ ├── __init__.py │ │ ├── meme.py │ │ ├── meme_source.py │ │ ├── user.py │ │ └── user_meme_source.py │ └── storage │ │ ├── __init__.py │ │ └── memes.py ├── localizer.py ├── main.py ├── models.py ├── recommendations │ ├── __init__.py │ ├── blender.py │ ├── candidates.py │ ├── meme_queue.py │ ├── schemas.py │ ├── service.py │ └── utils.py ├── redis.py ├── stats │ ├── __init__.py │ ├── meme.py │ ├── meme_source.py │ ├── service.py │ ├── user.py │ └── user_meme_source.py ├── storage │ ├── __init__.py │ ├── ads.py │ ├── constants.py │ ├── etl.py │ ├── ocr │ │ ├── __init__.py │ │ ├── modal.py │ │ └── mystic.py │ ├── parsers │ │ ├── __init__.py │ │ ├── base.py │ │ ├── constants.py │ │ ├── ig.py │ │ ├── schemas.py │ │ ├── tg.py │ │ └── vk.py │ ├── schemas.py │ ├── service.py │ ├── upload.py │ └── watermark.py ├── tgbot │ ├── __init__.py │ ├── app.py │ ├── bot.py │ ├── constants.py │ ├── dependencies.py │ ├── exceptions.py │ ├── handlers │ │ ├── __init__.py │ │ ├── admin │ │ │ ├── __init__.py │ │ │ ├── boost.py │ │ │ ├── broadcast_text.py │ │ │ ├── forward_channel.py │ │ │ ├── promote_moderator.py │ │ │ ├── service.py │ │ │ ├── user_info.py │ │ │ └── waitlist.py │ │ ├── alerts.py │ │ ├── block.py │ │ ├── broken.py │ │ ├── chat │ │ │ ├── __init__.py │ │ │ ├── ai.py │ │ │ ├── chat.py │ │ │ ├── chat_member.py │ │ │ ├── explain_meme.py │ │ │ ├── feedback.py │ │ │ ├── reaction.py │ │ │ ├── send_tokens.py │ │ │ ├── service.py │ │ │ └── utils.py │ │ ├── deep_link.py │ │ ├── error.py │ │ ├── inline.py │ │ ├── language.py │ │ ├── moderator │ │ │ ├── __init__.py │ │ │ ├── get_meme.py │ │ │ ├── invite.py │ │ │ └── meme_source.py │ │ ├── onboarding.py │ │ ├── payments │ │ │ ├── __init__.py │ │ │ └── purchase.py │ │ ├── popup.py │ │ ├── reaction.py │ │ ├── start.py │ │ ├── stats │ │ │ ├── __init__.py │ │ │ ├── stats.py │ │ │ └── wrapped.py │ │ ├── treasury │ │ │ ├── __init__.py │ │ │ ├── commands.py │ │ │ ├── constants.py │ │ │ ├── payments.py │ │ │ └── service.py │ │ └── upload │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ ├── forwarded_meme.py │ │ │ ├── moderation.py │ │ │ ├── service.py │ │ │ ├── stats.py │ │ │ └── upload_meme.py │ ├── logs.py │ ├── router.py │ ├── schemas.py │ ├── senders │ │ ├── __init__.py │ │ ├── alerts.py │ │ ├── invite.py │ │ ├── keyboards.py │ │ ├── meme.py │ │ ├── meme_caption.py │ │ ├── next_message.py │ │ ├── popups.py │ │ └── utils.py │ ├── service.py │ ├── user_info.py │ └── utils.py └── utils.py ├── start-polling.py ├── static ├── fonts │ └── WorkSans-Medium.ttf └── localization │ ├── achievements.yml │ ├── inline.yml │ ├── onboarding.yml │ ├── popups.yml │ ├── rewards.yml │ ├── service.yml │ ├── upload.yml │ └── waitlist.yml └── tests ├── __init__.py ├── conftest.py ├── recommendations ├── test_blender.py ├── test_lr_smoothed.py ├── test_meme_queue.py └── test_selected_sources.py ├── stats └── test_meme.py ├── test_redis.py └── tgbot └── test_forwarded_meme_utils.py /.coveragerc: -------------------------------------------------------------------------------- 1 | [report] 2 | fail_under = 80 3 | exclude_lines = # noqa 4 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/.env.example -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/.flake8 -------------------------------------------------------------------------------- /.github/workflows/linters.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/.github/workflows/linters.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/.gitignore -------------------------------------------------------------------------------- /AGENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/AGENTS.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/Dockerfile -------------------------------------------------------------------------------- /Dockerfile.prod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/Dockerfile.prod -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/README.md -------------------------------------------------------------------------------- /alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic.ini -------------------------------------------------------------------------------- /alembic/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /alembic/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/env.py -------------------------------------------------------------------------------- /alembic/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/script.py.mako -------------------------------------------------------------------------------- /alembic/versions/2023-12-27_init.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2023-12-27_init.py -------------------------------------------------------------------------------- /alembic/versions/2023-12-28_meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2023-12-28_meme.py -------------------------------------------------------------------------------- /alembic/versions/2023-12-29_user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2023-12-29_user.py -------------------------------------------------------------------------------- /alembic/versions/2023-12-30_meme_raw_telegram_content_optional.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2023-12-30_meme_raw_telegram_content_optional.py -------------------------------------------------------------------------------- /alembic/versions/2023-12-30_user_meme_reaction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2023-12-30_user_meme_reaction.py -------------------------------------------------------------------------------- /alembic/versions/2024-01-02_raw_vk_memes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-01-02_raw_vk_memes.py -------------------------------------------------------------------------------- /alembic/versions/2024-01-04_meme_source_added_by.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-01-04_meme_source_added_by.py -------------------------------------------------------------------------------- /alembic/versions/2024-01-08_meme_stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-01-08_meme_stats.py -------------------------------------------------------------------------------- /alembic/versions/2024-01-08_user_stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-01-08_user_stats.py -------------------------------------------------------------------------------- /alembic/versions/2024-01-28_meme_stats_raw_impr_rank.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-01-28_meme_stats_raw_impr_rank.py -------------------------------------------------------------------------------- /alembic/versions/2024-01-28_remove_language_table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-01-28_remove_language_table.py -------------------------------------------------------------------------------- /alembic/versions/2024-01-28_remove_language_table_fks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-01-28_remove_language_table_fks.py -------------------------------------------------------------------------------- /alembic/versions/2024-02-24_add_inviter_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-02-24_add_inviter_id.py -------------------------------------------------------------------------------- /alembic/versions/2024-03-02_popup_logs_meme_source_stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-03-02_popup_logs_meme_source_stats.py -------------------------------------------------------------------------------- /alembic/versions/2024-03-07_extension_pg_pg_trgm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-03-07_extension_pg_pg_trgm.py -------------------------------------------------------------------------------- /alembic/versions/2024-03-07_inlinesearch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-03-07_inlinesearch.py -------------------------------------------------------------------------------- /alembic/versions/2024-03-09_ig_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-03-09_ig_parser.py -------------------------------------------------------------------------------- /alembic/versions/2024-03-16_user_chat_membership.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-03-16_user_chat_membership.py -------------------------------------------------------------------------------- /alembic/versions/2024-03-31_more_user_stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-03-31_more_user_stats.py -------------------------------------------------------------------------------- /alembic/versions/2024-05-06_meme_raw_upload.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-05-06_meme_raw_upload.py -------------------------------------------------------------------------------- /alembic/versions/2024-05-12_meme_stats_default.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-05-12_meme_stats_default.py -------------------------------------------------------------------------------- /alembic/versions/2024-05-12_more_meme_stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-05-12_more_meme_stats.py -------------------------------------------------------------------------------- /alembic/versions/2024-05-26_treasury.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-05-26_treasury.py -------------------------------------------------------------------------------- /alembic/versions/2024-07-08_meme_stats_add_lr_smoothed.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-07-08_meme_stats_add_lr_smoothed.py -------------------------------------------------------------------------------- /alembic/versions/2024-08-04_index_reaction_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-08-04_index_reaction_id.py -------------------------------------------------------------------------------- /alembic/versions/2024-09-30_deep_link_log.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-09-30_deep_link_log.py -------------------------------------------------------------------------------- /alembic/versions/2024-10-09_add_meme_indexes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-10-09_add_meme_indexes.py -------------------------------------------------------------------------------- /alembic/versions/2024-11-30_big_integers_in.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-11-30_big_integers_in.py -------------------------------------------------------------------------------- /alembic/versions/2024-11-30_log_message_tg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/alembic/versions/2024-11-30_log_message_tg.py -------------------------------------------------------------------------------- /docker-compose.prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/docker-compose.prod.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /flow_deployments/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /flow_deployments/broadcasts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/flow_deployments/broadcasts.py -------------------------------------------------------------------------------- /flow_deployments/crossposting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/flow_deployments/crossposting.py -------------------------------------------------------------------------------- /flow_deployments/parsers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/flow_deployments/parsers.py -------------------------------------------------------------------------------- /flow_deployments/rewards.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/flow_deployments/rewards.py -------------------------------------------------------------------------------- /flow_deployments/stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/flow_deployments/stats.py -------------------------------------------------------------------------------- /flow_deployments/storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/flow_deployments/storage.py -------------------------------------------------------------------------------- /gunicorn/gunicorn_conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/gunicorn/gunicorn_conf.py -------------------------------------------------------------------------------- /justfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/justfile -------------------------------------------------------------------------------- /logging.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/logging.ini -------------------------------------------------------------------------------- /logging_production.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/logging_production.ini -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/pytest.ini -------------------------------------------------------------------------------- /requirements/base.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/requirements/base.txt -------------------------------------------------------------------------------- /requirements/dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/requirements/dev.txt -------------------------------------------------------------------------------- /requirements/prod.txt: -------------------------------------------------------------------------------- 1 | -r base.txt 2 | python-json-logger 3 | gunicorn -------------------------------------------------------------------------------- /scripts/downgrade: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | alembic downgrade "$1" 4 | -------------------------------------------------------------------------------- /scripts/format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/scripts/format -------------------------------------------------------------------------------- /scripts/makemigrations: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | alembic revision -m "$1" --autogenerate -------------------------------------------------------------------------------- /scripts/migrate: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | alembic upgrade head -------------------------------------------------------------------------------- /scripts/postgres/backup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/scripts/postgres/backup -------------------------------------------------------------------------------- /scripts/postgres/restore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/scripts/postgres/restore -------------------------------------------------------------------------------- /scripts/start-dev.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/scripts/start-dev.sh -------------------------------------------------------------------------------- /scripts/start-prod.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/scripts/start-prod.sh -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/broadcasts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/broadcasts/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/broadcasts/service.py -------------------------------------------------------------------------------- /src/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/config.py -------------------------------------------------------------------------------- /src/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/constants.py -------------------------------------------------------------------------------- /src/crossposting/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/crossposting/constants.py -------------------------------------------------------------------------------- /src/crossposting/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/crossposting/service.py -------------------------------------------------------------------------------- /src/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/database.py -------------------------------------------------------------------------------- /src/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/exceptions.py -------------------------------------------------------------------------------- /src/flows/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/flows/broadcasts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/flows/broadcasts/meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/broadcasts/meme.py -------------------------------------------------------------------------------- /src/flows/crossposting/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/flows/crossposting/meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/crossposting/meme.py -------------------------------------------------------------------------------- /src/flows/parsers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/flows/parsers/ig.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/parsers/ig.py -------------------------------------------------------------------------------- /src/flows/parsers/tg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/parsers/tg.py -------------------------------------------------------------------------------- /src/flows/parsers/vk.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/parsers/vk.py -------------------------------------------------------------------------------- /src/flows/rewards/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/flows/rewards/daily.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/rewards/daily.py -------------------------------------------------------------------------------- /src/flows/rewards/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/rewards/service.py -------------------------------------------------------------------------------- /src/flows/rewards/uploaded_memes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/rewards/uploaded_memes.py -------------------------------------------------------------------------------- /src/flows/stats/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/flows/stats/meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/stats/meme.py -------------------------------------------------------------------------------- /src/flows/stats/meme_source.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/stats/meme_source.py -------------------------------------------------------------------------------- /src/flows/stats/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/stats/user.py -------------------------------------------------------------------------------- /src/flows/stats/user_meme_source.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/stats/user_meme_source.py -------------------------------------------------------------------------------- /src/flows/storage/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/flows/storage/memes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/flows/storage/memes.py -------------------------------------------------------------------------------- /src/localizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/localizer.py -------------------------------------------------------------------------------- /src/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/main.py -------------------------------------------------------------------------------- /src/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/models.py -------------------------------------------------------------------------------- /src/recommendations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/recommendations/blender.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/recommendations/blender.py -------------------------------------------------------------------------------- /src/recommendations/candidates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/recommendations/candidates.py -------------------------------------------------------------------------------- /src/recommendations/meme_queue.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/recommendations/meme_queue.py -------------------------------------------------------------------------------- /src/recommendations/schemas.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/recommendations/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/recommendations/service.py -------------------------------------------------------------------------------- /src/recommendations/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/recommendations/utils.py -------------------------------------------------------------------------------- /src/redis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/redis.py -------------------------------------------------------------------------------- /src/stats/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/stats/meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/stats/meme.py -------------------------------------------------------------------------------- /src/stats/meme_source.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/stats/meme_source.py -------------------------------------------------------------------------------- /src/stats/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/stats/service.py -------------------------------------------------------------------------------- /src/stats/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/stats/user.py -------------------------------------------------------------------------------- /src/stats/user_meme_source.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/stats/user_meme_source.py -------------------------------------------------------------------------------- /src/storage/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/storage/ads.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/ads.py -------------------------------------------------------------------------------- /src/storage/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/constants.py -------------------------------------------------------------------------------- /src/storage/etl.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/etl.py -------------------------------------------------------------------------------- /src/storage/ocr/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/storage/ocr/modal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/ocr/modal.py -------------------------------------------------------------------------------- /src/storage/ocr/mystic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/ocr/mystic.py -------------------------------------------------------------------------------- /src/storage/parsers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/storage/parsers/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/parsers/base.py -------------------------------------------------------------------------------- /src/storage/parsers/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/parsers/constants.py -------------------------------------------------------------------------------- /src/storage/parsers/ig.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/parsers/ig.py -------------------------------------------------------------------------------- /src/storage/parsers/schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/parsers/schemas.py -------------------------------------------------------------------------------- /src/storage/parsers/tg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/parsers/tg.py -------------------------------------------------------------------------------- /src/storage/parsers/vk.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/parsers/vk.py -------------------------------------------------------------------------------- /src/storage/schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/schemas.py -------------------------------------------------------------------------------- /src/storage/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/service.py -------------------------------------------------------------------------------- /src/storage/upload.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/upload.py -------------------------------------------------------------------------------- /src/storage/watermark.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/storage/watermark.py -------------------------------------------------------------------------------- /src/tgbot/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/app.py -------------------------------------------------------------------------------- /src/tgbot/bot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/bot.py -------------------------------------------------------------------------------- /src/tgbot/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/constants.py -------------------------------------------------------------------------------- /src/tgbot/dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/dependencies.py -------------------------------------------------------------------------------- /src/tgbot/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/exceptions.py -------------------------------------------------------------------------------- /src/tgbot/handlers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/handlers/admin/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/handlers/admin/boost.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/admin/boost.py -------------------------------------------------------------------------------- /src/tgbot/handlers/admin/broadcast_text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/admin/broadcast_text.py -------------------------------------------------------------------------------- /src/tgbot/handlers/admin/forward_channel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/admin/forward_channel.py -------------------------------------------------------------------------------- /src/tgbot/handlers/admin/promote_moderator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/admin/promote_moderator.py -------------------------------------------------------------------------------- /src/tgbot/handlers/admin/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/admin/service.py -------------------------------------------------------------------------------- /src/tgbot/handlers/admin/user_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/admin/user_info.py -------------------------------------------------------------------------------- /src/tgbot/handlers/admin/waitlist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/admin/waitlist.py -------------------------------------------------------------------------------- /src/tgbot/handlers/alerts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/alerts.py -------------------------------------------------------------------------------- /src/tgbot/handlers/block.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/block.py -------------------------------------------------------------------------------- /src/tgbot/handlers/broken.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/broken.py -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/ai.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/chat/ai.py -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/chat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/chat/chat.py -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/chat_member.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/chat/chat_member.py -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/explain_meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/chat/explain_meme.py -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/feedback.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/chat/feedback.py -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/reaction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/chat/reaction.py -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/send_tokens.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/chat/send_tokens.py -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/chat/service.py -------------------------------------------------------------------------------- /src/tgbot/handlers/chat/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/chat/utils.py -------------------------------------------------------------------------------- /src/tgbot/handlers/deep_link.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/deep_link.py -------------------------------------------------------------------------------- /src/tgbot/handlers/error.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/error.py -------------------------------------------------------------------------------- /src/tgbot/handlers/inline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/inline.py -------------------------------------------------------------------------------- /src/tgbot/handlers/language.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/language.py -------------------------------------------------------------------------------- /src/tgbot/handlers/moderator/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/handlers/moderator/get_meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/moderator/get_meme.py -------------------------------------------------------------------------------- /src/tgbot/handlers/moderator/invite.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/moderator/invite.py -------------------------------------------------------------------------------- /src/tgbot/handlers/moderator/meme_source.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/moderator/meme_source.py -------------------------------------------------------------------------------- /src/tgbot/handlers/onboarding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/onboarding.py -------------------------------------------------------------------------------- /src/tgbot/handlers/payments/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/handlers/payments/purchase.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/payments/purchase.py -------------------------------------------------------------------------------- /src/tgbot/handlers/popup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/popup.py -------------------------------------------------------------------------------- /src/tgbot/handlers/reaction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/reaction.py -------------------------------------------------------------------------------- /src/tgbot/handlers/start.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/start.py -------------------------------------------------------------------------------- /src/tgbot/handlers/stats/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/handlers/stats/stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/stats/stats.py -------------------------------------------------------------------------------- /src/tgbot/handlers/stats/wrapped.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/stats/wrapped.py -------------------------------------------------------------------------------- /src/tgbot/handlers/treasury/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/handlers/treasury/commands.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/treasury/commands.py -------------------------------------------------------------------------------- /src/tgbot/handlers/treasury/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/treasury/constants.py -------------------------------------------------------------------------------- /src/tgbot/handlers/treasury/payments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/treasury/payments.py -------------------------------------------------------------------------------- /src/tgbot/handlers/treasury/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/treasury/service.py -------------------------------------------------------------------------------- /src/tgbot/handlers/upload/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/handlers/upload/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/upload/constants.py -------------------------------------------------------------------------------- /src/tgbot/handlers/upload/forwarded_meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/upload/forwarded_meme.py -------------------------------------------------------------------------------- /src/tgbot/handlers/upload/moderation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/upload/moderation.py -------------------------------------------------------------------------------- /src/tgbot/handlers/upload/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/upload/service.py -------------------------------------------------------------------------------- /src/tgbot/handlers/upload/stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/upload/stats.py -------------------------------------------------------------------------------- /src/tgbot/handlers/upload/upload_meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/handlers/upload/upload_meme.py -------------------------------------------------------------------------------- /src/tgbot/logs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/logs.py -------------------------------------------------------------------------------- /src/tgbot/router.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/router.py -------------------------------------------------------------------------------- /src/tgbot/schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/schemas.py -------------------------------------------------------------------------------- /src/tgbot/senders/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tgbot/senders/alerts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/senders/alerts.py -------------------------------------------------------------------------------- /src/tgbot/senders/invite.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/senders/invite.py -------------------------------------------------------------------------------- /src/tgbot/senders/keyboards.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/senders/keyboards.py -------------------------------------------------------------------------------- /src/tgbot/senders/meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/senders/meme.py -------------------------------------------------------------------------------- /src/tgbot/senders/meme_caption.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/senders/meme_caption.py -------------------------------------------------------------------------------- /src/tgbot/senders/next_message.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/senders/next_message.py -------------------------------------------------------------------------------- /src/tgbot/senders/popups.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/senders/popups.py -------------------------------------------------------------------------------- /src/tgbot/senders/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/senders/utils.py -------------------------------------------------------------------------------- /src/tgbot/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/service.py -------------------------------------------------------------------------------- /src/tgbot/user_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/user_info.py -------------------------------------------------------------------------------- /src/tgbot/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/tgbot/utils.py -------------------------------------------------------------------------------- /src/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/src/utils.py -------------------------------------------------------------------------------- /start-polling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/start-polling.py -------------------------------------------------------------------------------- /static/fonts/WorkSans-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/static/fonts/WorkSans-Medium.ttf -------------------------------------------------------------------------------- /static/localization/achievements.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/static/localization/achievements.yml -------------------------------------------------------------------------------- /static/localization/inline.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/static/localization/inline.yml -------------------------------------------------------------------------------- /static/localization/onboarding.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/static/localization/onboarding.yml -------------------------------------------------------------------------------- /static/localization/popups.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/static/localization/popups.yml -------------------------------------------------------------------------------- /static/localization/rewards.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/static/localization/rewards.yml -------------------------------------------------------------------------------- /static/localization/service.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/static/localization/service.yml -------------------------------------------------------------------------------- /static/localization/upload.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/static/localization/upload.yml -------------------------------------------------------------------------------- /static/localization/waitlist.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/static/localization/waitlist.yml -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/recommendations/test_blender.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/tests/recommendations/test_blender.py -------------------------------------------------------------------------------- /tests/recommendations/test_lr_smoothed.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/tests/recommendations/test_lr_smoothed.py -------------------------------------------------------------------------------- /tests/recommendations/test_meme_queue.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/tests/recommendations/test_meme_queue.py -------------------------------------------------------------------------------- /tests/recommendations/test_selected_sources.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/tests/recommendations/test_selected_sources.py -------------------------------------------------------------------------------- /tests/stats/test_meme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/tests/stats/test_meme.py -------------------------------------------------------------------------------- /tests/test_redis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/tests/test_redis.py -------------------------------------------------------------------------------- /tests/tgbot/test_forwarded_meme_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ffmemes/ff-backend/HEAD/tests/tgbot/test_forwarded_meme_utils.py --------------------------------------------------------------------------------