smart-bot-factory 0.1.7__py3-none-any.whl → 0.1.8__py3-none-any.whl

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.

Potentially problematic release.


This version of smart-bot-factory might be problematic. Click here for more details.

@@ -0,0 +1,126 @@
1
+ Metadata-Version: 2.4
2
+ Name: smart-bot-factory
3
+ Version: 0.1.8
4
+ Summary: Библиотека для создания умных чат-ботов
5
+ Author-email: Kopatych <kopatych@example.com>
6
+ License: MIT
7
+ License-File: LICENSE
8
+ Keywords: chatbot,cli,openai,supabase,telegram
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Environment :: Console
11
+ Classifier: Framework :: AsyncIO
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Communications :: Chat
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Requires-Python: >=3.9
23
+ Requires-Dist: aiofiles>=23.0.0
24
+ Requires-Dist: aiogram>=3.4.1
25
+ Requires-Dist: click>=8.0.0
26
+ Requires-Dist: openai>=1.12.0
27
+ Requires-Dist: project-root-finder>=1.9
28
+ Requires-Dist: python-dotenv>=1.0.1
29
+ Requires-Dist: pytz>=2023.3
30
+ Requires-Dist: pyyaml>=6.0.2
31
+ Requires-Dist: supabase>=2.3.4
32
+ Description-Content-Type: text/markdown
33
+
34
+ # Smart Bot Factory
35
+
36
+ Библиотека для создания умных чат-ботов с использованием OpenAI, Telegram и Supabase.
37
+
38
+ ## Установка
39
+
40
+ ```bash
41
+ pip install smart-bot-factory
42
+ ```
43
+
44
+ ## Быстрый старт
45
+
46
+ 1. Создайте нового бота:
47
+ ```bash
48
+ sbf create my-bot
49
+ ```
50
+
51
+ 2. Настройте конфигурацию в `bots/my-bot/.env`
52
+
53
+ 3. Запустите бота:
54
+ ```bash
55
+ sbf run my-bot
56
+ ```
57
+
58
+ ## Возможности
59
+
60
+ - 🤖 Интеграция с OpenAI GPT для умных ответов
61
+ - 📱 Поддержка Telegram Bot API через aiogram
62
+ - 💾 Хранение данных в Supabase
63
+ - 🔄 Система событий и обработчиков
64
+ - ⏰ Планировщик задач
65
+ - 🧪 Встроенная система тестирования
66
+ - 📝 Управление промптами
67
+ - 🛠️ Удобный CLI интерфейс
68
+
69
+ ## CLI команды
70
+
71
+ ```bash
72
+ # Создать нового бота
73
+ sbf create my-bot
74
+
75
+ # Запустить бота
76
+ sbf run my-bot
77
+
78
+ # Показать список ботов
79
+ sbf list
80
+
81
+ # Управление промптами
82
+ sbf prompts my-bot --list
83
+ sbf prompts my-bot --edit welcome_message
84
+ sbf prompts my-bot --add new_prompt
85
+
86
+ # Запустить тесты
87
+ sbf test my-bot
88
+ ```
89
+
90
+ ## Пример использования
91
+
92
+ ```python
93
+ from smart_bot_factory import BotBuilder, event_handler, schedule_task
94
+
95
+ # Обработчик события
96
+ @event_handler("book_appointment", "Запись на прием")
97
+ async def handle_booking(user_id: int, event_data: dict):
98
+ # Логика обработки записи на прием
99
+ return {"status": "success"}
100
+
101
+ # Запланированная задача
102
+ @schedule_task("send_reminder", "Отправка напоминания")
103
+ async def send_reminder(user_id: int, message: str):
104
+ # Логика отправки напоминания
105
+ return {"status": "sent"}
106
+
107
+ # Запуск бота
108
+ async def main():
109
+ bot = BotBuilder("my-bot")
110
+ await bot.build()
111
+ await bot.start()
112
+
113
+ if __name__ == "__main__":
114
+ asyncio.run(main())
115
+ ```
116
+
117
+ ## Требования
118
+
119
+ - Python 3.9+
120
+ - OpenAI API ключ
121
+ - Telegram Bot Token
122
+ - Supabase проект
123
+
124
+ ## Лицензия
125
+
126
+ MIT
@@ -1,5 +1,5 @@
1
1
  smart_bot_factory/__init__.py,sha256=W5k9awLVi0R_N3fSul7VNkKRdSfExZjNb_M2yNzepg8,102
2
- smart_bot_factory/cli.py,sha256=5kcxBPgi1RoNT_boSw00dyf8SqopuwRp5k20xoMmDfw,36850
2
+ smart_bot_factory/cli.py,sha256=YJRLKnO6HbjN_xviRPb5ZAEe2897PR3-Zc7-MQvOCd8,34451
3
3
  smart_bot_factory/config.py,sha256=kB3G2hGMrrCSOAvlrddf8x43bgfgEaQqOCKOeELAzfM,11640
4
4
  smart_bot_factory/setup_checker.py,sha256=fqRzyptyMzcb2I0boUaj0rWLdarqaN6ViX6suwTEeWc,20123
5
5
  smart_bot_factory/utm_link_generator.py,sha256=jw7c84Y_ZvLpV4jaBWw0GK3-lCUKIIa8sZ8YNxoWIlc,4166
@@ -13,7 +13,7 @@ smart_bot_factory/analytics/analytics_manager.py,sha256=JQgKGkPPt07vI6KYWpa7OAim
13
13
  smart_bot_factory/configs/growthmed-october-24/prompts/1sales_context.txt,sha256=uJ4WviYIr9xJaFdu-APrrmBgIWVwdJymcN04upIviLY,1614
14
14
  smart_bot_factory/configs/growthmed-october-24/prompts/2product_info.txt,sha256=tWP9gdn58vu9BhYpDx1lGuPNT24j5p1XPiCSD-CdXiU,24191
15
15
  smart_bot_factory/configs/growthmed-october-24/prompts/3objection_handling.txt,sha256=zwUGKp3mp1dAQUPjLQsCsczwRJJOqn9GGvVzVBCpvfY,6985
16
- smart_bot_factory/configs/growthmed-october-24/prompts/final_instructions.txt,sha256=UcUsCVIIpOmMzz361IFQIgUGinb47rfRaSlwDzEaiuE,15964
16
+ smart_bot_factory/configs/growthmed-october-24/prompts/final_instructions.txt,sha256=Y-lIyL9U0DJFY-CC-6LCVohJqZT9uNEJWikuTBJ81Ik,15410
17
17
  smart_bot_factory/configs/growthmed-october-24/prompts/help_message.txt,sha256=q_vNNWsq5rU0xbjKWeyD_lKAy7Q9ABpDZfgpgQNHoyo,1914
18
18
  smart_bot_factory/configs/growthmed-october-24/prompts/welcome_message.txt,sha256=sGgaYqxYqQYiyfaA-BgUgjbt5Yxx56ZEQEPYTAy7h60,572
19
19
  smart_bot_factory/configs/growthmed-october-24/reports/test_20250924_064229.txt,sha256=v24DY1_dL7wvDQzY3JVwc4I_5t5rgSe8IOGuUDzQkH0,58752
@@ -24,31 +24,31 @@ smart_bot_factory/configs/growthmed-october-24/tests/realistic_scenarios.yaml,sh
24
24
  smart_bot_factory/configs/growthmed-october-24/tests/scenario_examples.yaml,sha256=bzDulOU4a2LyWlcHzlQU8GYhOky2WTfyizGfjX4ioMY,2436
25
25
  smart_bot_factory/configs/growthmed-october-24/welcome_file/welcome_file_msg.txt,sha256=Db21Mm0r8SBWFdX9EeIF2FZtLQ2cvuwVlSRJd2KEYCg,922
26
26
  smart_bot_factory/configs/growthmed-october-24/welcome_file/Чек лист по 152ФЗ и 323ФЗ для медицины.pdf,sha256=BiAiQHNnQXJPMsks9AeL6s0beEjRFkRMJLMlAn4WorA,5284954
27
- smart_bot_factory/core/bot_utils.py,sha256=Xw4I-l7a6PNKXJnko60WWaFqEG-wFwxEdFN_wGho4nQ,41704
27
+ smart_bot_factory/core/bot_utils.py,sha256=XmwQ31LOpE_Wudx4OO4tlnVwse3YagakwpgN2cZC5SQ,41085
28
28
  smart_bot_factory/core/conversation_manager.py,sha256=eoHL7MCEz68DRvTVwRwZgf2PWwGv4T6J9D-I-thETi8,28289
29
- smart_bot_factory/core/decorators.py,sha256=HxF0NtPpS4MVkeRCMRwar4kuI6Xa6wbIyVwqGrDPCYc,43927
30
- smart_bot_factory/core/message_sender.py,sha256=EuPoX488Vz_gEwT8LDeOBTb7L9kb2eptvKENnEsVWyM,9872
31
- smart_bot_factory/core/router.py,sha256=xhXBQMlyM2ML6CFa3Co0wNvZkeFkOK2expexkoVdE6E,8151
32
- smart_bot_factory/core/router_manager.py,sha256=FvRHdxxhYqh1JHE-OjY7xjjPrCu-LGTILIWaxXfXi6U,8413
29
+ smart_bot_factory/core/decorators.py,sha256=BuG5nyDXnz7Gp0W7eQOEXxkdpkqgGwdu-7QVgBJXRYs,68647
30
+ smart_bot_factory/core/message_sender.py,sha256=7uZlMw7bdLb_2eokANUxyP4HomVQV7T2mrl4SBTfqNM,19134
31
+ smart_bot_factory/core/router.py,sha256=Ly2Kj6T9stu2UmE__3CvMvN8Rl1Ipo-SrsbTsiPSssA,11469
32
+ smart_bot_factory/core/router_manager.py,sha256=qncd57qhqXBV42FBEQ8Wl7aar8S7WZnfSC4EQ1BIr0w,9617
33
33
  smart_bot_factory/core/states.py,sha256=AOc19_yAsDW_8md-2oiowjBhuW3bwcsmMxszCXWZZTQ,355
34
34
  smart_bot_factory/creation/__init__.py,sha256=IgDk8GDS3pg7Pw_Et41J33ZmeZIU5dRwQdTmYKXfJfE,128
35
- smart_bot_factory/creation/bot_builder.py,sha256=D1_UkwZRgpL6wlwNodiK7zZAdMHrmT-iZYH0ZmomRPM,21627
35
+ smart_bot_factory/creation/bot_builder.py,sha256=c3maqY9qJBsRJO3kI4iko2oKf0JrjECUV_XRrImlgQQ,22169
36
36
  smart_bot_factory/creation/bot_testing.py,sha256=JDWXyJfZmbgo-DLdAPk8Sd9FiehtHHa4sLD17lBrTOc,55669
37
37
  smart_bot_factory/database/database_structure.sql,sha256=26gFtMC2jdQGQF7Zb_F4Br56rMd4hUDTk9FkNZYneLo,2789
38
38
  smart_bot_factory/database/schema.sql,sha256=-6kOmA9QnSkUtmGI2iQRbTvbdiqOhEOQcuz1lJn79mU,28059
39
39
  smart_bot_factory/event/__init__.py,sha256=hPL449RULIOB-OXv1ZbGNiHctAYaOMUqhSWGPrDHYBM,212
40
- smart_bot_factory/handlers/handlers.py,sha256=0ZdiWMwAx-EXx3Fmwk2nilhl76KTuyMCQt2C70Ttlvo,32530
40
+ smart_bot_factory/handlers/handlers.py,sha256=YH8xG0tDcb7uxZXI4socXURzc-y57_FEQ6GqTgYcM5Q,37603
41
41
  smart_bot_factory/integrations/openai_client.py,sha256=aMcDrKO0GEx3ZSVEOGDeDtFCDWSXs6biUfgrbRK8yTU,23180
42
- smart_bot_factory/integrations/supabase_client.py,sha256=IDpmWzcsGv75bPHpUHla5XuFvvpEz2DGU0Npho0pPzw,41298
43
- smart_bot_factory/message/__init__.py,sha256=yYwzh0X6l46FCZIZQ51bo9QUSfwZKJqFMYZ7H7hlz4g,242
42
+ smart_bot_factory/integrations/supabase_client.py,sha256=FLYD4gOSBAAukzExImFB4NLlNmBJPgI3d24Vht0A_uQ,45074
43
+ smart_bot_factory/message/__init__.py,sha256=6QvjdfF99venyDB9udZv9WDNjIHJLNuaVhYdTK3a44A,282
44
44
  smart_bot_factory/router/__init__.py,sha256=fLXSXfa-MaI9ickXoqha3PqpjxunsNLyVNlHIoIbr1c,115
45
45
  smart_bot_factory/supabase/__init__.py,sha256=XmZP6yM9ffERM5ddAWyJnrNzEhCYtMu3AcjVCi1rOf8,179
46
46
  smart_bot_factory/supabase/client.py,sha256=8_-I3kxZQlKQElI4cTUjNGYcqlyIyEkSrUZaP0nfNNU,26044
47
47
  smart_bot_factory/utils/__init__.py,sha256=5zNjw491bj5VkOhoEAwh2hjmv8nldyDOTrG7pbGpz6A,285
48
48
  smart_bot_factory/utils/debug_routing.py,sha256=BOoDhKBg7UXe5uHQxRk3TSfPfLPOFqt0N7lAo6kjCOo,4719
49
49
  smart_bot_factory/utils/prompt_loader.py,sha256=JSn7CsWnToSbHYtURdeuZn7ectyDqQGrPGHN2ixIGkw,19930
50
- smart_bot_factory-0.1.7.dist-info/METADATA,sha256=B7AxEhP4IW7MTB8up3TCS9dxQ1IE7waFbTR3oQOMZYE,13195
51
- smart_bot_factory-0.1.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
52
- smart_bot_factory-0.1.7.dist-info/entry_points.txt,sha256=ybKEAI0WSb7WoRiey7QE-HHfn88UGV7nxLDxXq7b7SU,50
53
- smart_bot_factory-0.1.7.dist-info/licenses/LICENSE,sha256=OrK3cwdUTzNzIhJvSPtJaVMoYIyC_sSx5EFE_FDMvGs,1092
54
- smart_bot_factory-0.1.7.dist-info/RECORD,,
50
+ smart_bot_factory-0.1.8.dist-info/METADATA,sha256=6JJ-TmhTcre_FFDNiHfqGOvQnG90UXZm1UZB172mjIQ,3528
51
+ smart_bot_factory-0.1.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
52
+ smart_bot_factory-0.1.8.dist-info/entry_points.txt,sha256=ybKEAI0WSb7WoRiey7QE-HHfn88UGV7nxLDxXq7b7SU,50
53
+ smart_bot_factory-0.1.8.dist-info/licenses/LICENSE,sha256=OrK3cwdUTzNzIhJvSPtJaVMoYIyC_sSx5EFE_FDMvGs,1092
54
+ smart_bot_factory-0.1.8.dist-info/RECORD,,
@@ -1,466 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: smart-bot-factory
3
- Version: 0.1.7
4
- Summary: Библиотека для создания умных чат-ботов
5
- Author-email: Kopatych <herousplay@gmail.com>
6
- License: MIT
7
- License-File: LICENSE
8
- Keywords: chatbot,cli,openai,supabase,telegram
9
- Classifier: Development Status :: 4 - Beta
10
- Classifier: Environment :: Console
11
- Classifier: Framework :: AsyncIO
12
- Classifier: Intended Audience :: Developers
13
- Classifier: License :: OSI Approved :: MIT License
14
- Classifier: Operating System :: OS Independent
15
- Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.9
17
- Classifier: Programming Language :: Python :: 3.10
18
- Classifier: Programming Language :: Python :: 3.11
19
- Classifier: Programming Language :: Python :: 3.12
20
- Classifier: Topic :: Communications :: Chat
21
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
- Requires-Python: >=3.9
23
- Requires-Dist: aiofiles>=23.0.0
24
- Requires-Dist: aiogram>=3.4.1
25
- Requires-Dist: click>=8.0.0
26
- Requires-Dist: openai>=1.12.0
27
- Requires-Dist: project-root-finder>=1.9
28
- Requires-Dist: python-dotenv>=1.0.1
29
- Requires-Dist: pytz>=2023.3
30
- Requires-Dist: pyyaml>=6.0.2
31
- Requires-Dist: supabase>=2.3.4
32
- Description-Content-Type: text/markdown
33
-
34
- # Smart Bot Factory
35
-
36
- Инструмент для создания умных чат-ботов с поддержкой AI, административной панели и тестирования.
37
-
38
- ## 🚀 Быстрый старт
39
-
40
- ### Установка
41
-
42
- ```bash
43
- pip install smart-bot-factory
44
- ```
45
-
46
- ### Создание первого бота
47
-
48
- ```bash
49
- # Создать нового бота
50
- sbf create my-bot
51
-
52
- # Запустить бота
53
- sbf run my-bot
54
- ```
55
-
56
- ## 📋 Команды CLI
57
-
58
- ### `sbf create <bot_id> [template]`
59
-
60
- Создает нового бота с указанным ID.
61
-
62
- ```bash
63
- # Создать бота с базовым шаблоном
64
- sbf create my-bot
65
-
66
- # Создать бота на основе существующего
67
- sbf create new-bot existing-bot
68
- ```
69
-
70
- **Что создается:**
71
- - 📁 `bots/my-bot/` - папка с конфигурацией бота
72
- - 📄 `my-bot.py` - файл для запуска бота
73
- - ⚙️ `.env` - файл конфигурации
74
- - 📝 Промпты, тесты, файлы из шаблона
75
-
76
- ### `sbf run <bot_id>`
77
-
78
- Запускает бота в рабочем режиме.
79
-
80
- ```bash
81
- sbf run my-bot
82
- ```
83
-
84
- **Автоматически:**
85
- - ✅ Проверяет наличие всех необходимых файлов
86
- - ⚙️ Загружает конфигурацию из `.env`
87
- - 🚀 Запускает бота
88
-
89
- ### `sbf test <bot_id> [options]`
90
-
91
- Запускает тесты бота.
92
-
93
- ```bash
94
- # Все тесты
95
- sbf test my-bot
96
-
97
- # Конкретный файл тестов
98
- sbf test my-bot scenario_examples.yaml
99
-
100
- # Подробный вывод
101
- sbf test my-bot -v
102
-
103
- # Больше потоков для быстрого тестирования
104
- sbf test my-bot --max-concurrent 10
105
- ```
106
-
107
- ### `sbf list`
108
-
109
- Показывает список всех доступных ботов.
110
-
111
- ```bash
112
- sbf list
113
- ```
114
-
115
- ### `sbf config <bot_id>`
116
-
117
- Открывает конфигурацию бота в редакторе.
118
-
119
- ```bash
120
- sbf config my-bot
121
- ```
122
-
123
- ### `sbf prompts <bot_id> [options]`
124
-
125
- Управление промптами бота.
126
-
127
- ```bash
128
- # Показать список промптов
129
- sbf prompts my-bot --list
130
-
131
- # Редактировать промпт
132
- sbf prompts my-bot --edit system_prompt
133
-
134
- # Добавить новый промпт
135
- sbf prompts my-bot --add custom_prompt
136
- ```
137
-
138
- ### `sbf copy <source_bot> <new_bot>`
139
-
140
- Копирует существующего бота как шаблон.
141
-
142
- ```bash
143
- # Скопировать бота
144
- sbf copy my-bot my-bot-v2
145
-
146
- # Перезаписать существующего бота
147
- sbf copy my-bot my-bot-v2 --force
148
- ```
149
-
150
- ### `sbf rm <bot_id>`
151
-
152
- Удаляет бота и все его файлы.
153
-
154
- ```bash
155
- # Удалить с подтверждением
156
- sbf rm my-bot
157
-
158
- # Удалить без подтверждения
159
- sbf rm my-bot --force
160
- ```
161
-
162
- ### `sbf link`
163
-
164
- Создает UTM-ссылки для бота.
165
-
166
- ```bash
167
- sbf link
168
- ```
169
-
170
- ### `sbf path`
171
-
172
- Показывает путь к проекту.
173
-
174
- ```bash
175
- sbf path
176
- ```
177
-
178
- ## 🏗️ Структура проекта
179
-
180
- ```
181
- project/
182
- ├── bots/
183
- │ └── my-bot/
184
- │ ├── .env # Конфигурация
185
- │ ├── prompts/ # Промпты
186
- │ │ ├── system_prompt.txt
187
- │ │ ├── welcome_message.txt
188
- │ │ └── final_instructions.txt
189
- │ ├── tests/ # Тесты
190
- │ │ └── scenario_examples.yaml
191
- │ ├── reports/ # Отчеты тестирования
192
- │ ├── welcome_files/ # Файлы для приветствия
193
- │ └── files/ # Дополнительные файлы
194
- ├── my-bot.py # Файл запуска бота
195
- └── smart_bot_factory/ # Библиотека
196
- ```
197
-
198
- ## ⚙️ Конфигурация (.env)
199
-
200
- ```env
201
- # Telegram
202
- TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
203
-
204
- # Supabase
205
- SUPABASE_URL=https://your-project.supabase.co
206
- SUPABASE_KEY=your_supabase_anon_key
207
-
208
- # OpenAI
209
- OPENAI_API_KEY=sk-your-openai-api-key
210
- OPENAI_MODEL=gpt-4
211
- OPENAI_MAX_TOKENS=1500
212
- OPENAI_TEMPERATURE=0.7
213
-
214
- # Администраторы
215
- ADMIN_TELEGRAM_IDS=123456789,987654321
216
- ADMIN_SESSION_TIMEOUT_MINUTES=30
217
-
218
- # Настройки
219
- DEBUG_MODE=false
220
- MAX_CONTEXT_MESSAGES=50
221
- LOG_LEVEL=INFO
222
- MESSAGE_PARSE_MODE=Markdown
223
- ```
224
-
225
- ## 🧪 Тестирование
226
-
227
- ### Формат тестов (YAML)
228
-
229
- ```yaml
230
- scenarios:
231
- - name: "Тест приветствия"
232
- steps:
233
- - user_input: "Привет!"
234
- expected_keywords:
235
- - ["привет", "здравствуйте", "добро пожаловать"]
236
- - ["помочь", "помощь"]
237
- forbidden_keywords: ["пока", "до свидания"]
238
-
239
- - name: "Тест с синонимами"
240
- steps:
241
- - user_input: "Сколько это стоит?"
242
- expected_keywords:
243
- - ["стоит", "цена", "стоимость", "сколько"]
244
- - ["рубл", "пакет", "вариант"]
245
- forbidden_keywords: ["бесплатно"]
246
- ```
247
-
248
- ### Поддержка синонимов
249
-
250
- В `expected_keywords` можно использовать:
251
- - **Одно слово:** `["привет"]`
252
- - **Синонимы:** `[["привет", "здравствуйте", "добро пожаловать"]]`
253
- - **Смешанный формат:** `["привет", ["здравствуйте", "добро пожаловать"]]`
254
-
255
- ## 🤖 Программирование ботов
256
-
257
- ### Основной файл бота
258
-
259
- ```python
260
- #!/usr/bin/env python3
261
- """
262
- Бот my-bot - создан с помощью Smart Bot Factory
263
- """
264
-
265
- import asyncio
266
- from smart_bot_factory.core import event_handler, send_message_by_human
267
- from smart_bot_factory.creation import BotBuilder
268
-
269
- # =============================================================================
270
- # ОБРАБОТЧИКИ СОБЫТИЙ
271
- # =============================================================================
272
-
273
- @event_handler("appointment_booking", "Записывает пользователя на прием")
274
- async def handle_appointment(user_id: int, event_data: dict):
275
- """Обработчик записи на прием"""
276
- await send_message_by_human(
277
- user_id=user_id,
278
- message_text="✅ Ваша запись на прием подтверждена!"
279
- )
280
-
281
- return {
282
- "status": "success",
283
- "appointment_id": "123"
284
- }
285
-
286
- # =============================================================================
287
- # ОСНОВНАЯ ФУНКЦИЯ
288
- # =============================================================================
289
-
290
- async def main():
291
- """Основная функция запуска бота"""
292
- try:
293
- # Создаем и собираем бота
294
- bot_builder = BotBuilder("my-bot")
295
- await bot_builder.build()
296
-
297
- # Запускаем бота
298
- await bot_builder.start()
299
-
300
- except Exception as e:
301
- print(f"❌ Ошибка запуска бота: {e}")
302
- raise
303
-
304
- if __name__ == "__main__":
305
- asyncio.run(main())
306
- ```
307
-
308
- ### Обработчики событий
309
-
310
- ```python
311
- @event_handler("phone_collection", "Собирает номер телефона")
312
- async def collect_phone(user_id: int, event_data: dict):
313
- """Сбор номера телефона"""
314
- phone = event_data.get('phone')
315
- # Логика сохранения номера
316
-
317
- return {
318
- "status": "success",
319
- "phone": phone
320
- }
321
- ```
322
-
323
- ## 👑 Административная панель
324
-
325
- ### Команды для админов
326
-
327
- - `/admin` - Вход в режим администратора
328
- - `/чаты` - Показать активные диалоги
329
- - `/чат <user_id>` - Начать диалог с пользователем
330
- - `/завершить` - Завершить текущий диалог
331
- - `/отладка <user_id>` - Отладочная информация
332
-
333
- ### Живой чат
334
-
335
- Админы могут:
336
- - 💬 Вести диалоги с пользователями в реальном времени
337
- - 📊 Видеть историю сообщений
338
- - ⏰ Автоматическое завершение диалогов по таймауту
339
- - 🎛️ Управление через кнопки
340
-
341
- ## 📊 Отчеты и аналитика
342
-
343
- ### Тестирование
344
-
345
- - 📈 Детальные отчеты по каждому тесту
346
- - ⏱️ Время выполнения тестов
347
- - 📊 Статистика прохождения
348
- - 💾 Сохранение отчетов в `bots/my-bot/reports/`
349
-
350
- ### Логирование
351
-
352
- ```bash
353
- # Уровни логирования
354
- LOG_LEVEL=DEBUG # Подробная отладка
355
- LOG_LEVEL=INFO # Основная информация
356
- LOG_LEVEL=WARNING # Только предупреждения
357
- LOG_LEVEL=ERROR # Только ошибки
358
- ```
359
-
360
- ## 🔧 Расширенные возможности
361
-
362
- ### UTM-трекинг
363
-
364
- ```bash
365
- # Генерация UTM-ссылок
366
- sbf link
367
- ```
368
-
369
- Поддерживаемые параметры:
370
- - `utm_source` - источник трафика
371
- - `utm_medium` - канал
372
- - `utm_campaign` - кампания
373
- - `utm_content` - контент
374
- - `utm_term` - ключевое слово
375
-
376
- ### Файлы и медиа
377
-
378
- - 📁 `welcome_files/` - файлы для приветствия
379
- - 📎 `files/` - дополнительные файлы бота
380
- - 🖼️ Поддержка изображений, документов, видео
381
-
382
- ### Кастомизация промптов
383
-
384
- ```bash
385
- # Редактирование системного промпта
386
- sbf prompts my-bot --edit system_prompt
387
-
388
- # Создание нового промпта
389
- sbf prompts my-bot --add custom_instructions
390
- ```
391
-
392
- ## 🆘 Поддержка и помощь
393
-
394
- ### Частые проблемы
395
-
396
- 1. **Бот не запускается**
397
- - Проверьте `.env` файл
398
- - Убедитесь в правильности токенов
399
- - Проверьте логи: `LOG_LEVEL=DEBUG`
400
-
401
- 2. **Тесты не проходят**
402
- - Проверьте формат YAML
403
- - Используйте `-v` для подробного вывода
404
- - Убедитесь в корректности ключевых слов
405
-
406
- 3. **Админские функции не работают**
407
- - Проверьте `ADMIN_TELEGRAM_IDS` в `.env`
408
- - Убедитесь, что ID указан правильно
409
- - Используйте `/admin` для входа в режим
410
-
411
- ### Отладка
412
-
413
- ```bash
414
- # Включить режим отладки
415
- DEBUG_MODE=true
416
-
417
- # Подробные логи
418
- LOG_LEVEL=DEBUG
419
-
420
- # Тестирование с подробным выводом
421
- sbf test my-bot -v
422
- ```
423
-
424
- ## 📚 Примеры
425
-
426
- ### Полный цикл разработки
427
-
428
- ```bash
429
- # 1. Создать бота
430
- sbf create sales-bot
431
-
432
- # 2. Настроить конфигурацию
433
- sbf config sales-bot
434
-
435
- # 3. Редактировать промпты
436
- sbf prompts sales-bot --edit system_prompt
437
-
438
- # 4. Создать тесты
439
- sbf prompts sales-bot --add test_scenarios
440
-
441
- # 5. Запустить тесты
442
- sbf test sales-bot -v
443
-
444
- # 6. Запустить бота
445
- sbf run sales-bot
446
- ```
447
-
448
- ### Копирование и модификация
449
-
450
- ```bash
451
- # Скопировать успешного бота
452
- sbf copy sales-bot sales-bot-v2
453
-
454
- # Модифицировать копию
455
- sbf prompts sales-bot-v2 --edit system_prompt
456
-
457
- # Протестировать изменения
458
- sbf test sales-bot-v2
459
-
460
- # Запустить новую версию
461
- sbf run sales-bot-v2
462
- ```
463
-
464
- ---
465
-
466
- **Smart Bot Factory** - создавайте умных ботов быстро и эффективно! 🚀