А дальше для каждого интервала определяешь интересующие тебя свойства форматирования, достаёшь текст
text = run.text
if run.font.bold: # если в документе в этом месте жирный шрифт
text = f'**{text}**' # то делаем шрифт жирным
if run.font.italic: # если в документе в этом месте курсив
text = f'*{text}*' # делаем текст курсивом
callback_data='addbtn.' + calldata1
@bot.callback_query_handler(func=lambda call: call.data.startswith('btn1.'))
Добавьте AUTOINCREMENT для `user_id` в таблице и не указывайте `user_id` при добавлении нового пользователя. В таком случае БД будет сама выставлять числовой идентификатор для новых юзеров.
Другой вариант - это использовать uuid4 или ему подобные для генерации случайного идентификатора на стороне приложения.
asyncio.wait_for(event.wait(), timeout)
и работать дальше в зависимости от этого. import asyncio
async def test(name: str):
await asyncio.sleep(0.1)
print(name, 'is running')
await asyncio.sleep(2)
print(name, 'is done')
async def run_all():
for n in ['bot1', 'bot2', 'bot3']:
asyncio.create_task(test(n))
await asyncio.sleep(1)
# дозапускаем еще таск
asyncio.create_task(test('bot4'))
await asyncio.sleep(5) # так как мы не ожидаем выполнения тасков, нам нужно задержаться в рабочем цикле
asyncio.run(run_all())
loop = asyncio.get_event_loop()
loop.create_task(run_all())
loop.run_forever()
отформатировать с учётом региональных стандартов