102 lines
3.9 KiB
Markdown
102 lines
3.9 KiB
Markdown
|
||
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
|
||
|
||
|
||
|
||
|
||
|
||
|
||
↑
|
||
↓
|
||
←
|
||
→
|
||
|