146 lines
5.3 KiB
Python
146 lines
5.3 KiB
Python
from router.bale.base_model import StateDetail
|
|
|
|
|
|
|
|
|
|
BUSY_TEXT = ("""⏳ تا اتمام پردازش قبلی منتظر بمانید ⏳""",)
|
|
|
|
|
|
class StateRegistry:
|
|
def __init__(self, states):
|
|
self._states = {s.state: s for s in states}
|
|
|
|
def get(self, key, default=None):
|
|
return self._states.get(key, default)
|
|
|
|
def all(self):
|
|
return list(self._states.values())
|
|
|
|
|
|
|
|
STATE = [
|
|
StateDetail(
|
|
state="search_in_law",
|
|
button_text="جستجو معنایی در قوانین 🔎",
|
|
end_buttons=[],
|
|
message="""متن حقوقی برای جستجو در قوانین را وارد نمایید""",
|
|
handler="handle_search_in_law",
|
|
),
|
|
StateDetail(
|
|
state="chat_in_law",
|
|
button_text="گفتگو طبق قوانین کشور",
|
|
end_buttons=[],
|
|
message="""💬 با احترام، آماده گفتگو هستم""",
|
|
handler="handle_chat_in_law",
|
|
),
|
|
StateDetail(
|
|
state="logical_chat_in_law",
|
|
button_text="گفتگوی حقوقی دقیق تر 🧠💬",
|
|
end_buttons=[],
|
|
message="""💬 با عرض ادب و احترام، آماده گفتگو حقوقی دقیق هستم""",
|
|
handler="handle_logical_chat_in_law",
|
|
),
|
|
StateDetail(
|
|
state="conflict_law_writing_policy",
|
|
button_text="بررسی مغایرت با سیاست های قانون گذاری 📜",
|
|
end_buttons=[],
|
|
message="""متن مورد نظر برای بررسی مغایرت با سیاست های قانون گذاری را وارد کنید :""",
|
|
handler="handle_conflict_law_writing_policy",
|
|
),
|
|
StateDetail(
|
|
state="conflict_qanon_asasi",
|
|
button_text="بررسی مغایرت با اصول مهم قانون اساسی ⚖️",
|
|
end_buttons=[],
|
|
message="""متن مورد نظر برای بررسی مغایرت با اصول مهم قانون اساسی را وارد کنید :""",
|
|
handler="handle_conflict_qanon_asasi",
|
|
),
|
|
StateDetail(
|
|
state="conflict_general_policy",
|
|
button_text="بررسی مغایرت با سیاست های کلی نظام 🏛️",
|
|
end_buttons=[],
|
|
message="""متن مورد نظر برای بررسی مغایرت با سیاست های کلی نظام را وارد کنید :""",
|
|
handler="handle_conflict_general_policy",
|
|
),
|
|
StateDetail(
|
|
state="conflict_all_qavanin",
|
|
button_text="بررسی مغایرت در تمام قوانین",
|
|
end_buttons=[],
|
|
message="""متن مورد نظر برای بررسی مغایرت در تمام قوانین جمهوری اسلامی ایران را وارد کنید :""",
|
|
handler="handle_conflict_all_qavanin",
|
|
),
|
|
StateDetail(
|
|
state="qanon_title_repeat",
|
|
button_text="بررسی تکرار عنوان قانون 🔁",
|
|
end_buttons=[],
|
|
handler="handle_qanon_title_repeat",
|
|
message="""لطفا عنوان قانون مورد نظر را برای بررسی ارسال نمایید:""",
|
|
),
|
|
StateDetail(
|
|
state="rule_making",
|
|
handler="handle_rule_making",
|
|
button_text="استخراج اجزاء حقوقی متن",
|
|
end_buttons=[],
|
|
message="""متن مورد نظر برای استخراج اجزاء حقوقی را وارد کنید :""",
|
|
),
|
|
StateDetail(
|
|
state="beta",
|
|
handler="handle_beta",
|
|
button_text="BETA-Mode",
|
|
end_buttons=[],
|
|
message="""این قسمت در دست توسعه قرار دارد ...""",
|
|
),
|
|
StateDetail(
|
|
state="contact_us",
|
|
button_text="تماس با ما ☎️",
|
|
message="""لطفا برای ارتباط با ما از طریق مرکز فناوری مجلس شورای اسلامی ایران اقدام فرمایید""",
|
|
),
|
|
StateDetail(
|
|
state="about_us",
|
|
button_text="درباره ما ⚡",
|
|
message="""من ربات گفتگوگر حقوقی هستم که روی قوانین رسمی جمهوری اسلامی ایران از *سامانه قانونیار مجلس شورای اسلامی* توسعه یافتم.
|
|
لذا به هر سوال و گفتگویی طبق همان منابع پاسخ میدهم
|
|
نشانی سامانه منبع در زیر آمده است
|
|
[qanonyar.parliran.ir](https://qanonyar.parliran.ir)
|
|
|
|
*کارفرما : *مرکز فناوری مجلس شورای اسلامی ایران""",
|
|
),
|
|
]
|
|
|
|
STATE_REGISTERY = StateRegistry(STATE)
|
|
STATE_CONFIG = {i.state: i for i in STATE}
|
|
|
|
|
|
def build_buttons_form(button_form):
|
|
buttons = []
|
|
|
|
for row in button_form:
|
|
row_buttons = []
|
|
for state_name in row:
|
|
state = STATE_REGISTERY.get(state_name)
|
|
if not state:
|
|
continue
|
|
|
|
row_buttons.append({
|
|
"text": state.button_text,
|
|
"callback_data": state.state
|
|
})
|
|
|
|
if row_buttons:
|
|
buttons.append(row_buttons)
|
|
|
|
return buttons
|
|
|
|
# Button-STYLE
|
|
main_button_form = [
|
|
["search_in_law"],
|
|
["chat_in_law"],
|
|
["logical_chat_in_law"],
|
|
["rule_making"],
|
|
["conflict_law_writing_policy"],
|
|
["conflict_qanon_asasi"],
|
|
["conflict_general_policy"],
|
|
["conflict_all_qavanin"],
|
|
["qanon_title_repeat"],
|
|
["contact_us", "about_us", "beta"]
|
|
]
|
|
MAIN_BUTTON = build_buttons_form(main_button_form) |