gambojo-tgcore 0.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,22 @@
1
+ [tool.bumpversion]
2
+ current_version = "0.3.2"
3
+ commit = true
4
+ tag = true
5
+ tag_name = "v{new_version}"
6
+ commit_message = "release: v{new_version}"
7
+ push = false
8
+
9
+ [[tool.bumpversion.files]]
10
+ filename = "pyproject.toml"
11
+ search = 'version = "{current_version}"'
12
+ replace = 'version = "{new_version}"'
13
+
14
+ [[tool.bumpversion.files]]
15
+ filename = "src/tg_core/__init__.py"
16
+ search = '__version__ = "{current_version}"'
17
+ replace = '__version__ = "{new_version}"'
18
+
19
+ [[tool.bumpversion.files]]
20
+ filename = "CHANGELOG.md"
21
+ search = "## [Unreleased]"
22
+ replace = "## [Unreleased]\n\n## [{new_version}] - {now:%Y-%m-%d}"
@@ -0,0 +1,22 @@
1
+ # ==============================
2
+ # Обязательные
3
+ # ==============================
4
+ BOT_TOKEN=your_bot_token_here
5
+ ADMIN_IDS=123456789,987654321
6
+
7
+ # ==============================
8
+ # База данных
9
+ # ==============================
10
+ # SQLite — для разработки
11
+ DATABASE_URL=sqlite+aiosqlite:///bot.db
12
+
13
+ # PostgreSQL — для продакшна
14
+ # DATABASE_URL=postgresql+asyncpg://user:password@localhost:5432/dbname
15
+
16
+ # ==============================
17
+ # Опциональные
18
+ # ==============================
19
+ DEBUG=false
20
+ RATE_LIMIT=30
21
+ RATE_LIMIT_WINDOW=60
22
+ TIMEZONE=Europe/Moscow
@@ -0,0 +1,38 @@
1
+ name: Publish Python package to PyPI
2
+ env:
3
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
4
+
5
+ on:
6
+ push:
7
+ tags:
8
+ - "v*"
9
+
10
+ permissions:
11
+ contents: read
12
+ packages: write
13
+
14
+ jobs:
15
+ build-and-publish:
16
+ runs-on: ubuntu-latest
17
+
18
+ steps:
19
+ - name: Checkout
20
+ uses: actions/checkout@v4
21
+
22
+ - name: Set up Python
23
+ uses: actions/setup-python@v5
24
+ with:
25
+ python-version: "3.11"
26
+
27
+ - name: Install build tools
28
+ run: pip install build twine
29
+
30
+ - name: Build package
31
+ run: python -m build
32
+
33
+ - name: Publish to PyPI
34
+ run: |
35
+ python -m twine upload \
36
+ -u __token__ \
37
+ -p ${{ secrets.PYPI_API_TOKEN }} \
38
+ dist/*
@@ -0,0 +1,53 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.pyo
5
+ *.pyd
6
+ .Python
7
+ *.egg
8
+ *.egg-info/
9
+ dist/
10
+ build/
11
+ eggs/
12
+ parts/
13
+ var/
14
+ sdist/
15
+ develop-eggs/
16
+ .installed.cfg
17
+ lib/
18
+ lib64/
19
+
20
+ # Virtual environments
21
+ .venv/
22
+ venv/
23
+ ENV/
24
+ env/
25
+
26
+ # Environment variables
27
+ .env
28
+ .env.*
29
+ !.env.example
30
+
31
+ # Database
32
+ *.db
33
+ *.sqlite
34
+ *.sqlite3
35
+
36
+ # Logs
37
+ *.log
38
+ logs/
39
+
40
+ # IDE
41
+ .idea/
42
+ .vscode/
43
+ *.swp
44
+ *.swo
45
+ .DS_Store
46
+
47
+ # Testing
48
+ .pytest_cache/
49
+ .coverage
50
+ htmlcov/
51
+
52
+ # Mypy
53
+ .mypy_cache/
@@ -0,0 +1,62 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.3.2] - 2026-03-15
10
+
11
+ ## [0.3.1] - 2026-03-15
12
+
13
+ ## [0.3.0] - 2026-03-15
14
+
15
+ ## [0.2.9] - 2026-03-11
16
+
17
+ ## [0.2.8] - 2026-03-11
18
+
19
+ ## [0.2.7] - 2026-03-11
20
+
21
+ ## [0.2.6] - 2026-03-11
22
+
23
+ ## [0.2.5] - 2026-03-11
24
+
25
+ ## [0.2.4] - 2026-03-11
26
+
27
+ ## [0.2.3] - 2026-03-11
28
+
29
+ ## [0.2.2] - 2026-03-11
30
+
31
+ ## [0.2.1] - 2026-03-10
32
+
33
+ ## [0.2.0] - 2026-03-10
34
+
35
+ ## [0.1.4] - 2026-03-10
36
+ ### Deleted
37
+ - `create_schema.py` - теперь это встроено в ядро
38
+ ### Added
39
+ - `ensure_admins` - метод для проверки и назначения админов
40
+
41
+ ## [0.1.3] - 2026-03-10
42
+
43
+ ## [0.1.2] - 2026-03-09
44
+
45
+ ## [0.1.1] - 2026-03-09
46
+
47
+ ## [0.1.0] - 2026-03-09
48
+
49
+ ### Added
50
+ - `Settings` — базовый класс конфигурации на pydantic-settings
51
+ - `UserMixin` — миксин с базовыми полями пользователя
52
+ - `TimestampMixin` — миксин `created_at` / `updated_at` для любой модели
53
+ - `Base`, `get_session`, `get_session_factory`, `init_db` — асинхронный слой SQLAlchemy
54
+ - `AntiSpamMiddleware` — ограничение частоты сообщений на пользователя
55
+ - `UserMiddleware` — автоматическое получение/создание пользователя и инжект в handler
56
+ - `paginate` — инлайн-клавиатура с пагинацией
57
+ - `confirm_cancel` — клавиатура подтверждения действия
58
+ - `back_button` — кнопка назад
59
+ - `main_menu` — reply-клавиатура из списка строк
60
+ - `url_button` — инлайн-кнопка со ссылкой
61
+ - `create_admin_router` — фабрика роутера админки с `/stats`, `/broadcast`, `/ban`, `/unban`, `/user`
62
+ - `create_schema.py` — внешний скрипт создания схемы БД