mirror of
https://github.com/MrSedan/neuro-reply-bot-reworked.git
synced 2026-01-15 05:59:43 +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')
|
"_", "\_").replace('.', '\.').replace(',', '\,').replace('!', '\!').replace('-', '\-').replace(':', '\:').replace('+', '\+'), parse_mode='markdownv2')
|
||||||
await message.answer(res2, entities=posts_entities)
|
await message.answer(res2, entities=posts_entities)
|
||||||
|
|
||||||
#TODO: Сделать изменение Message Entities
|
|
||||||
@self.router.message(Command('edit'))
|
@self.router.message(Command('edit'))
|
||||||
async def edit_post_by_order_num(message: types.Message):
|
async def edit_post_by_order_num(message: types.Message):
|
||||||
command = message.text.split(' ', 2)
|
command = message.text.split(' ', 2)
|
||||||
@@ -84,7 +83,8 @@ class AdminCommands(Handler):
|
|||||||
await message.reply('Недостаточно аргументов!')
|
await message.reply('Недостаточно аргументов!')
|
||||||
return
|
return
|
||||||
try:
|
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]}')
|
await message.reply(f'Текст поста успешно изменен на: {command[2]}')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
await message.reply(f'Ошибка: {e}')
|
await message.reply(f'Ошибка: {e}')
|
||||||
|
|||||||
@@ -72,8 +72,19 @@ class Post(ApiMethod):
|
|||||||
raise Exception(data['message'])
|
raise Exception(data['message'])
|
||||||
return neuroTypes.Post.from_dict(data)
|
return neuroTypes.Post.from_dict(data)
|
||||||
|
|
||||||
async def edit_text_by_order_num(self, order: str, text: str):
|
async def edit_text_by_order_num(self, order: str, text: str, message_entities: Optional[List[MessageEntity]] = None):
|
||||||
response = requests.post(self.api_url + f"/post/edit-post-by-order-num/{order}", data={"text": text})
|
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()
|
data = response.json()
|
||||||
if 'statusCode' in data:
|
if 'statusCode' in data:
|
||||||
raise Exception(data['message'])
|
raise Exception(data['message'])
|
||||||
|
|||||||
Reference in New Issue
Block a user