mirror of
https://github.com/MrSedan/neuro-reply-bot-reworked.git
synced 2026-01-14 21:49:42 +03:00
Message entities in post editing
This commit is contained in:
@@ -76,7 +76,6 @@ class AdminCommands(Handler):
|
||||
"_", "\_").replace('.', '\.').replace(',', '\,').replace('!', '\!').replace('-', '\-').replace(':', '\:').replace('+', '\+'), parse_mode='markdownv2')
|
||||
await message.answer(res2, entities=posts_entities)
|
||||
|
||||
#TODO: Сделать изменение Message Entities
|
||||
@self.router.message(Command('edit'))
|
||||
async def edit_post_by_order_num(message: types.Message):
|
||||
command = message.text.split(' ', 2)
|
||||
@@ -84,7 +83,8 @@ class AdminCommands(Handler):
|
||||
await message.reply('Недостаточно аргументов!')
|
||||
return
|
||||
try:
|
||||
await neuroapi.post.edit_text_by_order_num(command[1], command[2])
|
||||
await neuroapi.post.edit_text_by_order_num(command[1], command[2], message.entities)
|
||||
#TODO: Message Entities для уведомления об изменении поста
|
||||
await message.reply(f'Текст поста успешно изменен на: {command[2]}')
|
||||
except Exception as e:
|
||||
await message.reply(f'Ошибка: {e}')
|
||||
|
||||
@@ -72,8 +72,19 @@ class Post(ApiMethod):
|
||||
raise Exception(data['message'])
|
||||
return neuroTypes.Post.from_dict(data)
|
||||
|
||||
async def edit_text_by_order_num(self, order: str, text: str):
|
||||
response = requests.post(self.api_url + f"/post/edit-post-by-order-num/{order}", data={"text": text})
|
||||
async def edit_text_by_order_num(self, order: str, text: str, message_entities: Optional[List[MessageEntity]] = None):
|
||||
payload = {"text": text}
|
||||
if message_entities is not None:
|
||||
if message_entities is not None:
|
||||
mes_ent = list(map(lambda x: x.model_dump(), message_entities))
|
||||
arr =[]
|
||||
print(mes_ent)
|
||||
for item in mes_ent:
|
||||
if item['type'] == 'bot_command': continue
|
||||
item['offset'] -= 7+len(order)
|
||||
arr.append(item)
|
||||
payload['message_entities'] = json.dumps(arr)
|
||||
response = requests.post(self.api_url + f"/post/edit-post-by-order-num/{order}", data=payload)
|
||||
data = response.json()
|
||||
if 'statusCode' in data:
|
||||
raise Exception(data['message'])
|
||||
|
||||
Reference in New Issue
Block a user