Browse Source

Небольшие правки в заказах #21

1. При оповещении - описание заказа
2. Кнопки изменить описание, изменить статус
3. При изменении сразу всё должно быть в поле ввода
4. МаркДаун в сообщениях
5. Информация о заказе на кнопке
7. Высветить номер заказа
8. Проветка что все кнопки разные
9. Не изменяется сообщение при наличии сообщения с родителем
10. Изменять оповещения для разных категорий
master
Alexei 1 year ago
parent
commit
5e1137fcbf
  1. 65
      bot_modules/all_orders.py
  2. 8
      bot_modules/messages.py
  3. 5
      bot_modules/mod_simple_message.py
  4. 11
      bot_modules/mod_table_operate.py
  5. 2
      bot_modules/orders.py
  6. 8
      bot_modules/user_message.py
  7. 11
      bot_sys/bot_messages.py
  8. 8
      bot_sys/interfaces.py
  9. 2
      template/bd_item_edit.py
  10. 4
      template/sql_request.py

65
bot_modules/all_orders.py

@ -66,6 +66,8 @@ cur_messages = {
Введите новый статус заказа: Введите новый статус заказа:
''', ''',
mod_table_operate.Messages.OPEN: f''' mod_table_operate.Messages.OPEN: f'''
<b>Номер заказа: #{orders.key_name} </b>
<b>Заказ: #{orders.name_field}</b> <b>Заказ: #{orders.name_field}</b>
<b>Описание и состав заказа:</b> #{orders.desc_field} <b>Описание и состав заказа:</b> #{orders.desc_field}
@ -84,10 +86,16 @@ messages_notification = {
mod_table_operate.NotificationMessage(orders.OrderStatus.NEW): f'''Статус заказа "#{orders.name_field}" изменён на - ожидает модерации''', mod_table_operate.NotificationMessage(orders.OrderStatus.NEW): f'''Статус заказа "#{orders.name_field}" изменён на - ожидает модерации''',
mod_table_operate.NotificationMessage(orders.OrderStatus.PAY): f'''Статус заказа "#{orders.name_field}" изменён на - Заказ ожидает оплаты. mod_table_operate.NotificationMessage(orders.OrderStatus.PAY): f'''Статус заказа "#{orders.name_field}" изменён на - Заказ ожидает оплаты.
Оплатите заказ и прикрепите чек об оплате к заказу. Для этого проследуйте по пути "Заказы"->"Редактировать мой заказ"->"Загрузить чек по оплате моего заказа"''', <b>Описание заказа:</b>
#{orders.desc_field}
Оплатите заказ и прикрепите чек об оплате к заказу. Для этого проследуйте по пути "Главное меню"->"Заказы"->"Загрузить чек по оплате моего заказа"''',
mod_table_operate.NotificationMessage(orders.OrderStatus.ADDRESS): f'''Статус заказа "#{orders.name_field}" изменён на - Заказ ожидает указания адреса доставки. mod_table_operate.NotificationMessage(orders.OrderStatus.ADDRESS): f'''Статус заказа "#{orders.name_field}" изменён на - Заказ ожидает указания адреса доставки.
Для этого проследуйте по пути "Заказы"->"Редактировать мой заказ"->"Изменить адрес в моём заказе"''', <b>Описание заказа:</b>
#{orders.desc_field}
Для этого проследуйте по пути "Главное меню"->"Заказы"->"Редактировать мой заказ"->"Изменить адрес в моём заказе"''',
mod_table_operate.NotificationMessage(orders.OrderStatus.FINISH): f'''Статус заказа "#{orders.name_field}" изменён на - Заказ выполнен''', mod_table_operate.NotificationMessage(orders.OrderStatus.FINISH): f'''Статус заказа "#{orders.name_field}" изменён на - Заказ выполнен''',
} }
@ -139,9 +147,10 @@ class ModuleAllOrders(orders.ModuleOrders):
return DBItemForUserSelectSource(self.m_Bot, self.m_Table.GetName(), parent_id_field, a_PrevPrefix, a_ButtonName) return DBItemForUserSelectSource(self.m_Bot, self.m_Table.GetName(), parent_id_field, a_PrevPrefix, a_ButtonName)
def GetButtonNameAndKeyValueAndAccess(self, a_Item): def GetButtonNameAndKeyValueAndAccess(self, a_Item):
parent_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.PARENT_ID) user_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_ID)
key_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.KEY)
n, k, a = super().GetButtonNameAndKeyValueAndAccess(a_Item) n, k, a = super().GetButtonNameAndKeyValueAndAccess(a_Item)
return n + ":" + str(a_Item[parent_field_id]), k, a return str(a_Item[key_field_id]) + ":" + n + "," + str(a_Item[user_field_id]), k, a
async def OnChangeField(self, a_Field, a_ItemID, a_ItemData, a_EditUserID): async def OnChangeField(self, a_Field, a_ItemID, a_ItemData, a_EditUserID):
super().OnChangeField(a_Field, a_ItemID, a_ItemData, a_EditUserID) super().OnChangeField(a_Field, a_ItemID, a_ItemData, a_EditUserID)
@ -154,22 +163,33 @@ class ModuleAllOrders(orders.ModuleOrders):
item = item[0] item = item[0]
user_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_ID) user_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_ID)
parent_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.PARENT_ID)
status_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.STATUS) status_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.STATUS)
print('OnChangeField', item, user_field_id, status_field_id) #print('OnChangeField', item, user_field_id, status_field_id)
owner_id = item[user_field_id] owner_id = item[user_field_id]
new_status = item[status_field_id] new_status = item[status_field_id]
parent_id = item[parent_field_id]
msg = self.GetMessage(mod_table_operate.NotificationMessage(new_status)) msg = self.GetMessage(mod_table_operate.NotificationMessage(new_status))
parent_id_msg = None
if msg:
name = self.GetMessageNameWithTableFieldDestinyAndValue(mod_table_operate.NotificationMessage(new_status), bd_table.TableFieldDestiny.PARENT_ID, parent_id)
#print('name', name, msg.GetLanguage())
parent_id_msg = msg.FindMessageForLang(name, msg.GetLanguage())
if parent_id_msg:
msg = parent_id_msg
if not msg: if not msg:
self.m_Log.Error(f'Не удалось оповестить по заказу №{a_ItemID}. Пустое сообщение для нового статуса {new_status}') self.m_Log.Error(f'Не удалось оповестить по заказу №{a_ItemID}. Пустое сообщение для нового статуса {new_status}')
return return
msg = self.UpdateMessage(msg, None, item) msg = self.UpdateMessage(msg, None, item)
await self.m_Bot.SendMessage( await self.SendMessageToUser(msg, owner_id)
owner_id,
msg.GetDesc(), def GetStartButtons(self, a_Message, a_UserGroups):
msg.GetPhotoID(), return [
None, [mod_table_operate.ButtonNames.LIST, user_access.AccessMode.VIEW],
None [mod_table_operate.ButtonNames.EDIT, user_access.AccessMode.EDIT],
) [mod_table_operate.ButtonNames.ADD, user_access.AccessMode.ADD],
[mod_table_operate.ButtonNames.DEL, user_access.AccessMode.DELETE],
]
def GetViewItemInlineKeyboard(self, a_Message, a_UserGroups, a_ItemID): def GetViewItemInlineKeyboard(self, a_Message, a_UserGroups, a_ItemID):
table_name = self.m_Table.GetName() table_name = self.m_Table.GetName()
@ -178,22 +198,37 @@ class ModuleAllOrders(orders.ModuleOrders):
user_id = None user_id = None
user_id_field_index = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_ID) user_id_field_index = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_ID)
key_field_index = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.KEY)
if user_id_field_index and cur_item and cur_item[user_id_field_index]: if user_id_field_index and cur_item and cur_item[user_id_field_index]:
user_id = cur_item[user_id_field_index] user_id = cur_item[user_id_field_index]
if not user_id: if not user_id:
return None return None
cur_buttons = [] cur_buttons = []
users_mod = self.GetModule(users.module_name)
if users_mod: for dst in bd_table.TableFieldDestiny.DESC, bd_table.TableFieldDestiny.STATUS:
access = self.GetAccessForEditKeyboardButtons(self.m_Table.GetFieldByDestiny(dst))
btn = mod_table_operate.EditButton(dst)
prefix = self.m_EditPrefix.get(dst, None)
if prefix:
cur_buttons += [ cur_buttons += [
keyboard.InlineButtonWithAccess(self.GetButton(ButtonNames.SHOW_USER_INFO), users_mod.GetShowPrefix(), user_id, users_mod.GetAccess(), user_access.AccessMode.VIEW), keyboard.InlineButtonWithAccess(self.GetButton(btn), prefix, cur_item[key_field_index], access, user_access.AccessMode.EDIT),
] ]
user_message_mod = self.GetModule(user_message.module_name) user_message_mod = self.GetModule(user_message.module_name)
if user_message_mod: if user_message_mod:
cur_buttons += [ cur_buttons += [
keyboard.InlineButtonWithAccess(self.GetButton(ButtonNames.SEND_USER_MESSAGE), user_message_mod.GetAddPrefix(), user_id, user_message_mod.GetAccess(), user_access.AccessMode.ADD), keyboard.InlineButtonWithAccess(self.GetButton(ButtonNames.SEND_USER_MESSAGE), user_message_mod.GetAddPrefix(), user_id, user_message_mod.GetAccess(), user_access.AccessMode.ADD),
] ]
users_mod = self.GetModule(users.module_name)
if users_mod:
cur_buttons += [
keyboard.InlineButtonWithAccess(self.GetButton(ButtonNames.SHOW_USER_INFO), users_mod.GetShowPrefix(), user_id, users_mod.GetAccess(), user_access.AccessMode.VIEW),
]
if len(cur_buttons) == 0: if len(cur_buttons) == 0:
return None return None
return keyboard.MakeInlineKeyboardButtons(self.m_Bot, cur_buttons, a_UserGroups) return keyboard.MakeInlineKeyboardButtons(self.m_Bot, cur_buttons, a_UserGroups)

8
bot_modules/messages.py

@ -46,10 +46,10 @@ button_names = {
mod_simple_message.ButtonNames.START: "✉ Сообщения", mod_simple_message.ButtonNames.START: "✉ Сообщения",
mod_table_operate.ButtonNames.LIST: "📃 Список сообщений", mod_table_operate.ButtonNames.LIST: "📃 Список сообщений",
mod_table_operate.ButtonNames.ADD: "☑ Добавить сообщение", mod_table_operate.ButtonNames.ADD: "☑ Добавить сообщение",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать сообщение", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать сообщение бота",
mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у сообщения", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у сообщения",
mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у сообщения", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): " Изменить название сообщения",
mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у сообщения", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание сообщения",
mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к сообщению", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к сообщению",
mod_table_operate.ButtonNames.DEL: "❌ Удалить сообщение", mod_table_operate.ButtonNames.DEL: "❌ Удалить сообщение",
} }
@ -75,7 +75,7 @@ messages = {
mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): f''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): f'''
Создание сообщения. Шаг 1 Создание сообщения. Шаг 1
Вы можете добавить номер родителя ID в таком формате: ИмяСообщения{'?' + str(bd_table.TableFieldDestiny.PARENT_ID) + '=ID'} Вы можете добавить номер родителя ID в таком формате: ИмяСообщения{'<code>?' + str(bd_table.TableFieldDestiny.PARENT_ID) + '=</code>ID'}
, чтобы сообщение было только для него , чтобы сообщение было только для него
Введите название сообщения: Введите название сообщения:

5
bot_modules/mod_simple_message.py

@ -76,8 +76,9 @@ class SimpleMessageModule(mod_interface.IModule):
assert False # Телеграм не поддерживает больше assert False # Телеграм не поддерживает больше
assert a_ButtonDesc[0] != ' ', f'ButtonDesc:{a_ButtonDesc}, Телеграм не поддерживает пробелы в начале' assert a_ButtonDesc[0] != ' ', f'ButtonDesc:{a_ButtonDesc}, Телеграм не поддерживает пробелы в начале'
assert a_ButtonDesc[-1:] != ' ', f'ButtonDesc:{a_ButtonDesc}, Телеграм не поддерживает пробелы в конце' assert a_ButtonDesc[-1:] != ' ', f'ButtonDesc:{a_ButtonDesc}, Телеграм не поддерживает пробелы в конце'
# TODO добавить проверку, что все кнопки (a_ButtonDesc) разные btn_name = f'{self.GetName()} {str(a_ButtonName).replace("ButtonNames.", "")}'
btn = self.m_BotButtons.CreateMessage(f'{self.GetName()} {str(a_ButtonName).replace("ButtonNames.", "")}', a_ButtonDesc, self.m_Log.GetTimeNow()) assert not self.m_BotButtons.CheckDescExist(a_ButtonDesc), f'ButtonDesc:{a_ButtonDesc}, повтор имени кнопки, все кнопки должны быть разными'
btn = self.m_BotButtons.CreateMessage(btn_name, a_ButtonDesc, self.m_Log.GetTimeNow())
return btn return btn
def GetModule(self, a_ModName): def GetModule(self, a_ModName):

11
bot_modules/mod_table_operate.py

@ -96,6 +96,7 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule):
self.m_ChildModName = a_ChildModName self.m_ChildModName = a_ChildModName
self.m_ParentModName = a_ParentModName self.m_ParentModName = a_ParentModName
self.m_SelectPrefix = '' self.m_SelectPrefix = ''
self.m_EditPrefix = {}
def GetEditKeyboardButtons(a_Message, a_UserGroups): def GetEditKeyboardButtons(a_Message, a_UserGroups):
return self.GetEditKeyboardButtons(a_Message, a_UserGroups) return self.GetEditKeyboardButtons(a_Message, a_UserGroups)
@ -239,16 +240,18 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule):
parent_id = str(a_Item[key_field_id]) parent_id = str(a_Item[key_field_id])
return parent_id return parent_id
def GetMessageNameWithTableFieldDestinyAndValue(self, a_NameWithoutDestiny, a_Destiny, a_Value):
return a_NameWithoutDestiny + '?' + str(a_Destiny) + '=' + str(a_Value)
def ShowMessageTemplate(self, a_Message, Inline_keyboard_template_func = None, a_EnablePhoto = False): def ShowMessageTemplate(self, a_Message, Inline_keyboard_template_func = None, a_EnablePhoto = False):
async def ShowMessage(a_CallbackQuery, a_Item, a_ItemDict, table_name = self.m_Table.GetName()): async def ShowMessage(a_CallbackQuery, a_Item, a_ItemDict, table_name = self.m_Table.GetName()):
lang = str(a_CallbackQuery.from_user.language_code) lang = str(a_CallbackQuery.from_user.language_code)
msg = a_Message.StaticCopy() msg = a_Message
# Подменяем сообщение, если оно уже есть для PARENT_ID # Подменяем сообщение, если оно уже есть для PARENT_ID
parent_id = self.GetParentID(a_Item, a_ItemDict, table_name) parent_id = self.GetParentID(a_Item, a_ItemDict, table_name)
if parent_id: if parent_id:
name = msg.GetName() + '?' + str(bd_table.TableFieldDestiny.PARENT_ID) + '=' + parent_id name = self.GetMessageNameWithTableFieldDestinyAndValue(msg.GetName(), bd_table.TableFieldDestiny.PARENT_ID, parent_id)
parent_id_msg = a_Message.FindMessageForLang(name, lang) parent_id_msg = a_Message.FindMessageForLang(name, lang)
if parent_id_msg: if parent_id_msg:
msg = parent_id_msg msg = parent_id_msg
@ -468,7 +471,7 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule):
a_Prefix = self.RegisterSelect(a_ButtonName, user_access.AccessMode.VIEW, only_parent = True) a_Prefix = self.RegisterSelect(a_ButtonName, user_access.AccessMode.VIEW, only_parent = True)
bd_item_edit.EditBDItemRegisterHandlers(self.m_Bot, \ a_Prefix = bd_item_edit.EditBDItemRegisterHandlers(self.m_Bot, \
self.SelectSourceTemplate(a_Prefix, a_ButtonName), \ self.SelectSourceTemplate(a_Prefix, a_ButtonName), \
MakeFSMForEdit(self.GetName(), a_FieldName), \ MakeFSMForEdit(self.GetName(), a_FieldName), \
self.GetMessage(Messages.SELECT_TO_EDIT), \ self.GetMessage(Messages.SELECT_TO_EDIT), \
@ -487,6 +490,8 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule):
field_type = a_FieldType\ field_type = a_FieldType\
) )
self.m_EditPrefix.update({a_Field.m_Destiny: a_Prefix})
def GetAddFields(self): def GetAddFields(self):
add_destiny = ( add_destiny = (
bd_table.TableFieldDestiny.NAME, bd_table.TableFieldDestiny.NAME,

2
bot_modules/orders.py

@ -84,6 +84,8 @@ messages = {
Ошибка, заказ не найден Ошибка, заказ не найден
''', ''',
mod_table_operate.Messages.OPEN: f''' mod_table_operate.Messages.OPEN: f'''
<b>Номер заказа: #{key_name} </b>
<b>Заказ: #{name_field}</b> <b>Заказ: #{name_field}</b>
<b>Описание и состав заказа:</b> #{desc_field} <b>Описание и состав заказа:</b> #{desc_field}

8
bot_modules/user_message.py

@ -3,7 +3,7 @@
# Сообщения пользователю # Сообщения пользователю
from bot_sys import bot_bd, keyboard, user_access, bd_table, bot_subscribes, bot_messages from bot_sys import bot_bd, keyboard, user_access, bd_table, bot_subscribes, bot_messages, interfaces
from bot_modules import mod_table_operate, mod_simple_message, users from bot_modules import mod_table_operate, mod_simple_message, users
# --------------------------------------------------------- # ---------------------------------------------------------
@ -35,8 +35,8 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список отправленных сообщений", mod_table_operate.ButtonNames.LIST: "📃 Список отправленных сообщений",
mod_table_operate.ButtonNames.ADD: "📨 Отправить сообщение", mod_table_operate.ButtonNames.ADD: "📨 Отправить сообщение",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать сообщение", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать сообщение",
mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в категории", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у сообщения",
mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к категории", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к сообщению",
mod_table_operate.ButtonNames.DEL: "❌ Удалить отправленное сообщение", mod_table_operate.ButtonNames.DEL: "❌ Удалить отправленное сообщение",
} }
@ -118,7 +118,7 @@ class ModuleUserMessage(mod_table_operate.TableOperateModule):
desc_field = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.DESC) desc_field = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.DESC)
user_id_field = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.PARENT_ID) user_id_field = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.PARENT_ID)
if not await self.SendMessageToUser(bot_messages.MakeBotMessage(a_ItemData[desc_field]), a_ItemData[user_id_field]): if not await self.SendMessageToUser(bot_messages.MakeBotMessage(a_ItemData[desc_field]), a_ItemData[user_id_field], parse_mode=interfaces.ParseMode.HTML.value):
return None, '❌ Ошибка отправки сообщения' return None, '❌ Ошибка отправки сообщения'
return res, error return res, error

11
bot_sys/bot_messages.py

@ -70,7 +70,7 @@ class BotMessage:
self.m_MessageDesc = new_msg.m_MessageDesc self.m_MessageDesc = new_msg.m_MessageDesc
self.m_Language = new_msg.m_Language self.m_Language = new_msg.m_Language
self.m_PhotoID = new_msg.m_PhotoID self.m_PhotoID = new_msg.m_PhotoID
self.m_DateTime = new_msg.m_DateTime self.m_DateTime = last_update
return new_msg return new_msg
def MakeBotMessage(a_MessageDesc): def MakeBotMessage(a_MessageDesc):
@ -85,6 +85,15 @@ class BotMessages:
def GetMessages(self): def GetMessages(self):
return self.m_Messages return self.m_Messages
def CheckDescExist(self, a_MessageDesc):
msg = self.GetMessages()
for l, m in msg.items():
for name, cur_msg in m.items():
if cur_msg.GetDesc() == a_MessageDesc:
return True
return False
def UpdateSignal(self, a_DateTime): def UpdateSignal(self, a_DateTime):
self.m_LastUpdate = a_DateTime self.m_LastUpdate = a_DateTime

8
bot_sys/interfaces.py

@ -3,6 +3,14 @@
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from enum import Enum
from enum import auto
# Способ форматирования
class ParseMode(Enum):
HTML = "HTML"
Markdown ='Markdown'
class IBot(ABC): class IBot(ABC):
@abstractmethod @abstractmethod
def GetRootIDs(self): def GetRootIDs(self):

2
template/bd_item_edit.py

@ -43,3 +43,5 @@ def EditBDItemRegisterHandlers(a_Bot, a_SelectSource, a_FSM, a_StartMessage, a_E
a_Bot.RegisterMessageHandler(FinishEditBDItemTemplate(a_Bot, a_FSM, a_TableName, a_KeyName, a_FieldName, a_FinishMessageFunc, a_PostProcessFunc, a_AccessFunc, a_FinishButtonFunc, a_OnChangeFunc, access_mode, field_type = field_type), content_types = ['photo', 'text'], state = a_FSM.item_field) a_Bot.RegisterMessageHandler(FinishEditBDItemTemplate(a_Bot, a_FSM, a_TableName, a_KeyName, a_FieldName, a_FinishMessageFunc, a_PostProcessFunc, a_AccessFunc, a_FinishButtonFunc, a_OnChangeFunc, access_mode, field_type = field_type), content_types = ['photo', 'text'], state = a_FSM.item_field)
else: else:
a_Bot.RegisterMessageHandler(FinishEditBDItemTemplate(a_Bot, a_FSM, a_TableName, a_KeyName, a_FieldName, a_FinishMessageFunc, a_PostProcessFunc, a_AccessFunc, a_FinishButtonFunc, a_OnChangeFunc, access_mode, field_type = field_type), state = a_FSM.item_field) a_Bot.RegisterMessageHandler(FinishEditBDItemTemplate(a_Bot, a_FSM, a_TableName, a_KeyName, a_FieldName, a_FinishMessageFunc, a_PostProcessFunc, a_AccessFunc, a_FinishButtonFunc, a_OnChangeFunc, access_mode, field_type = field_type), state = a_FSM.item_field)
return a_Prefix

4
template/sql_request.py

@ -3,7 +3,7 @@
# Сообщения для работы с sql запросами # Сообщения для работы с sql запросами
from bot_sys import user_access, keyboard, bot_messages from bot_sys import user_access, keyboard, bot_messages, interfaces
from bot_modules import groups_utils from bot_modules import groups_utils
from template import bd_item, simple_message from template import bd_item, simple_message
@ -31,7 +31,7 @@ def RequestToBDTemplate(a_Bot, a_StartMessage, a_GetButtonsFunc, a_AccessFunc, a
await a_FSM.sqlRequest.set() await a_FSM.sqlRequest.set()
print ('a_FSM.sqlRequest.set()', a_StartMessage) print ('a_FSM.sqlRequest.set()', a_StartMessage)
await simple_message.SendMessage(a_Bot, a_StartMessage, GetCancelKeyboardButtonsTemplate(a_Bot, a_AccessFunc, a_AccessMode), None, user_id, a_Message, user_groups, parse_mode='Markdown') await simple_message.SendMessage(a_Bot, a_StartMessage, GetCancelKeyboardButtonsTemplate(a_Bot, a_AccessFunc, a_AccessMode), None, user_id, a_Message, user_groups, parse_mode=interfaces.ParseMode.Markdown.value)
return RequestToBDStart return RequestToBDStart
def RequestToBDFinishTemplate(a_Bot, a_GetButtonsFunc, a_AccessFunc, a_AccessMode): def RequestToBDFinishTemplate(a_Bot, a_GetButtonsFunc, a_AccessFunc, a_AccessMode):

Loading…
Cancel
Save