Функция постепенного вывода сообщения, Aiogram
Пытаюсь написать код для эффекта, как будто бот печатает сообщение прямо в окне чата. Пока все, что получилось придумать, но все равно пока не работает из-за ошибок среза. Буду рад любой помощи.
@dp.message_handler(commands = ['start'])
async def type(message):
orig_text = "Текст для теста"
textt = orig_text
tbp = ""
typing_symbol = "|"
mes = await bot.send_message(message.chat.id, "-")
while(tbp != orig_text):
textt = await bot.edit_message_text(chat_id=message.chat.id, message_id=mes.message_id, text = tbp + typing_symbol)
sl(0.05)
tbp = tbp + textt[0]
textt = textt[1:]
await bot.edit_message_text(chat_id=message.chat.id, message_id=textt.message_id, text = tbp)
sl(0.05)
if __name__ == "__main__":
executor.start_polling(dp, skip_updates = True)
Ответы (1 шт):
Автор решения: Сергей Ш
→ Ссылка
async def echo_message(message):
orig_text = "123456789"
msg = await bot.send_message(message.chat.id, '_')
time.sleep(0.5)
tbp = orig_text[:1]
for x in orig_text[1:]:
await bot.edit_message_text(chat_id=message.chat.id, message_id=msg.message_id, text=f'{tbp}_')
time.sleep(0.5)
tbp += x
await bot.edit_message_text(chat_id=message.chat.id, message_id=msg.message_id, text=tbp)