mj_bale_chat/proje_information.md
2026-02-01 09:04:29 +00:00

102 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Operation (logic layer)
├── handle_search_in_law(...)
│ ├── دریافت ورودی خام
│ ├── فراخوانی request_manager
│ ├── ساخت خروجی منطقی (data)
│ └── بدون وابستگی به بله
└── return OperationResult
BaleBotCore (delivery / interface layer)
├── دریافت user
├── صدا زدن Operation
├── تبدیل خروجی به متن + دکمه
└── ارسال به بله
# Logic & Flow
Operation → منطق، پردازش، گرفتن دیتا، تصمیم‌گیری
BaleBotCore → ورودی/خروجی، ارتباط با بله، فرمت پیام، دکمه‌ها، مدیریت state کاربر
# FlowChart
/
└── main.py
│ └── fast-api app
├── core
│ └── core.py
│ ├── class Formatter : فرمت دهی و مدیریت استایل ها و UI
│ ├── class RequestManager : درخواست ها و داده ها را از بک اند میگیرد در دو نوع async (chunk-chunk) و ساده
│ └── class ElasticHelper : مدیریت و ارتباط با الاستیک سرچ
├── router
│ └── bale
│ ├── bale.py
│ │ ├── func webhook : دریافت داده از بله
│ │ └── func initialize_webhook : شناساندن ربات به بله
│ ├── bale_handle.py
│ │ ├── class BaleBotBase : برای مدیریت پیام ها و دکمه ها و 3 url send, update, delet ارتباط با سرور بله
│ │ ├── class BaleBotUI : مدیریت پیام های موقتی
│ │ ├── class StackManager : مدیریت داده های کاربر در پشته یا stack
│ │ └── class BaleBotCore : ساختار ربات و انجام state ها
│ │ ├── func render_update : مسئول گرفتن داده از بله به دو صورت BaleStartMessage یا BaleCallbackQuery
│ │ ├── func render_user_state : وظیفه مدیریت و پاس دادن هر ورودی به بر اساس state به تابع موردنظر
│ │ ├── func handle_previous_message : دسترسی به پیام مرحله قبل (بزودی باید با stack هندل شود)
│ │ ├── func handle_main : صفحه اول - حذف کننده داده ها و ریست داده ها
│ │ ├── func handle_search_in_law :
│ │ ├── func handle_search_in_law_rules
│ │ ├── func handle_rule_making
│ │ ├── func handle_chat_in_law
│ │ ├── func handle_qanon_title_repeat
│ │ ├── func handle_logical_chat_in_law
│ │ ├── func handle_conflict_qanon_asasi
│ │ ├── func handle_conflict_law_writing_policy
│ │ ├── func handle_subject_unities_to_evalution
│ │ ├── func show_stack_data
│ │ ├── func handle_summary_conflict_all_qavanin
│ │ ├── func save_to_db
│ │ └──
# input-flow
User-Input
app → initialize_webhook → Bale-Server
webhook
BaleBotCore
└→ BaleBotBase
└→ BaleBotUI
└→ StackManager
└→ UserManager
└→ Operation