Пишу бота для вк, и встал вопрос, как узнать количество строк в сообщении? То есть, не количество /n, а строк, которые видит пользователь (на ПК)
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW:
message = event.obj['message']
text = message['text']
strings = len('text')
print(strings)
видит где? к примеру на мобильном и на десктопе он будет видеть разное количество строк.
ладно на десктопе вк не адаптивный и там можно отталкиваться от фиксированной ширины блока для текста, но на мобильных устройствах с разными экранами - всегда будет разный по ширине блок для текста.
а еще мобильное устройство можно повернуть в горизонтальный вид и снова разное количество строк.
Ты имеешь ввиду форматирования сообщения в виде окна диалога пользователя? Тут всё зависит от разрешения и масштаба у конечного юзера который читает сообщение. Если ты хочешь выводить специфическую информацию привязанную к ширине диалога, то рекомендую просто начинать текст с новой строки.
daniel_IO, ну ширина блока фиксированная, но вот ширина букв - нет. поэтому, к примеру, нужно создать массив ширин всех букв, цифр. типа а - 10px, б -9,5px и т.д.
дальше пробегаешь по буквам текста, который нужно посчитать и суммируешь ширину каждой буквы. в конечном итоге ты получишь ширину всего текста.
а дальше зная ширину блока текста в вк на десктопе (415px https://skr.sh/i/210720/9mg7YHVa.png?download=1 )
просто делишь общую ширину твоего текста на 415. и получишь количество строк.