izteamslots 1.1.6 → 1.2.0
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.
- package/CHANGELOG.md +7 -0
- package/README.md +16 -25
- package/backend/rpc_server.py +9 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [1.2.0](https://github.com/izzzzzi/izTeamSlots/compare/v1.1.6...v1.2.0) (2026-03-06)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* load config from ~/.izteamslots/.env, update README install docs ([99ca787](https://github.com/izzzzzi/izTeamSlots/commit/99ca787207d65cfde29a9b0bd173dc870ca59ee6))
|
|
7
|
+
|
|
1
8
|
## [1.1.6](https://github.com/izzzzzi/izTeamSlots/compare/v1.1.5...v1.1.6) (2026-03-06)
|
|
2
9
|
|
|
3
10
|
|
package/README.md
CHANGED
|
@@ -83,14 +83,12 @@ izTeamSlots/
|
|
|
83
83
|
### npm (рекомендуется)
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
|
-
npm install -g izteamslots
|
|
86
|
+
npm install -g izteamslots@latest
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
Установщик автоматически поставит Python-зависимости (через [uv](https://docs.astral.sh/uv/)), [Bun](https://bun.sh) и всё остальное.
|
|
90
90
|
|
|
91
|
-
|
|
92
|
-
npx izteamslots
|
|
93
|
-
```
|
|
91
|
+
> Chrome и chromedriver скачиваются автоматически при первом запуске через SeleniumBase.
|
|
94
92
|
|
|
95
93
|
### Из исходников
|
|
96
94
|
|
|
@@ -100,32 +98,27 @@ cd izTeamSlots
|
|
|
100
98
|
npm install
|
|
101
99
|
```
|
|
102
100
|
|
|
103
|
-
|
|
104
|
-
- Проверит Python 3.11+
|
|
105
|
-
- Установит [uv](https://docs.astral.sh/uv/) если его нет (быстрый Python package manager)
|
|
106
|
-
- Установит Python-зависимости через uv (`seleniumbase`, `requests`)
|
|
107
|
-
- Установит [Bun](https://bun.sh) если его нет + UI-зависимости
|
|
108
|
-
- Создаст `.env` из `.env.example` если его нет
|
|
101
|
+
### Настройка
|
|
109
102
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
Если нужно перезапустить setup вручную:
|
|
103
|
+
Создайте файл конфигурации `~/.izteamslots/.env`:
|
|
113
104
|
|
|
114
105
|
```bash
|
|
115
|
-
|
|
116
|
-
|
|
106
|
+
# Linux / macOS
|
|
107
|
+
mkdir -p ~/.izteamslots
|
|
108
|
+
echo "BOOMLIFY_API_KEY=your_api_key" > ~/.izteamslots/.env
|
|
117
109
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
# Temp mail API (обязательно для создания слотов)
|
|
122
|
-
BOOMLIFY_API_KEY=your_api_key
|
|
110
|
+
# Windows (PowerShell)
|
|
111
|
+
mkdir "$env:USERPROFILE\.izteamslots" -Force
|
|
112
|
+
echo "BOOMLIFY_API_KEY=your_api_key" > "$env:USERPROFILE\.izteamslots\.env"
|
|
123
113
|
```
|
|
124
114
|
|
|
115
|
+
Конфиг загружается в порядке приоритета: `~/.izteamslots/.env` > `./.env` > встроенный.
|
|
116
|
+
|
|
125
117
|
Опциональные переменные:
|
|
126
118
|
|
|
127
119
|
| Переменная | По умолчанию | Описание |
|
|
128
120
|
|-----------|:------------:|----------|
|
|
121
|
+
| `BOOMLIFY_API_KEY` | — | API-ключ Boomlify (обязательно для слотов) |
|
|
129
122
|
| `BOOMLIFY_DOMAIN` | авто | Домен для временных почт |
|
|
130
123
|
| `BOOMLIFY_TIME` | `permanent` | Время жизни ящика |
|
|
131
124
|
| `SLOT_MAIL_PROVIDER` | `boomlify` | Провайдер почты для слотов |
|
|
@@ -134,13 +127,11 @@ BOOMLIFY_API_KEY=your_api_key
|
|
|
134
127
|
## Запуск
|
|
135
128
|
|
|
136
129
|
```bash
|
|
137
|
-
# Глобальная установка
|
|
138
130
|
izteamslots
|
|
139
|
-
|
|
140
|
-
# Из исходников
|
|
141
|
-
npm start
|
|
142
131
|
```
|
|
143
132
|
|
|
133
|
+
Из исходников: `npm start`
|
|
134
|
+
|
|
144
135
|
Это запустит OpenTUI frontend через **Bun**, который поднимет Python RPC backend (`python -m backend`) по `stdio`.
|
|
145
136
|
|
|
146
137
|
---
|
package/backend/rpc_server.py
CHANGED
|
@@ -222,7 +222,15 @@ def main() -> int:
|
|
|
222
222
|
|
|
223
223
|
from dotenv import load_dotenv
|
|
224
224
|
|
|
225
|
-
|
|
225
|
+
# Priority: ~/.izteamslots/.env > CWD/.env > package .env
|
|
226
|
+
home_env = Path.home() / ".izteamslots" / ".env"
|
|
227
|
+
cwd_env = Path.cwd() / ".env"
|
|
228
|
+
pkg_env = Path(__file__).resolve().parent.parent / ".env"
|
|
229
|
+
|
|
230
|
+
for env_path in (home_env, cwd_env, pkg_env):
|
|
231
|
+
if env_path.is_file():
|
|
232
|
+
load_dotenv(env_path)
|
|
233
|
+
break
|
|
226
234
|
|
|
227
235
|
server = RPCServer()
|
|
228
236
|
server.serve()
|