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

3.9 KiB
Raw Blame History

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

↑ ↓ ← →