userdata = {} # создали словарь
# где-нибудь спрашиваем у человек имя
userdata[message.user.id] = message.text
# делаем остальные шаги,
# читаем через userdata[message.user.id] и удаляем
del userdata[message.user.id]
from django.db import models
class Idea(models.Model):
title = models.CharField(max_length=70, verbose_name="Название идеи")
def __str__(self): return self.title
class Step(models.Model):
content = models.TextField(verbose_name='Этап')
idea = models.ForeignKey(Idea, related_name = "step", on_delete = models.CASCADE)
def __str__(self): return self.content
from myapp.models import Idea, Step
i1 = Idea.objects.create(title=request.POST["idea_title"])
i1.save()
s1 = i1.step.create(content=request.POST["step_content"])
s1.save()
if request.POST["next"]:
, то делаешь: the_idea = Idea.objects.get(pk=request.POST["idea_pk"])
new_step = the_idea.step.create(content=request.POST["step_content"])
new_step.save()
import asyncio
в начале Выносите свой долгий запрос вот сюда:async def longrequest():
# ............
asyncio.create_task(longrequest())
apk add python3 curl
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
import asyncio
from contextlib import suppress
from aiogram import types
from aiogram.utils.exceptions import (MessageToEditNotFound, MessageCantBeEdited, MessageCantBeDeleted,
MessageToDeleteNotFound)
async def delete_message(message: types.Message, sleep_time: int = 0):
await asyncio.sleep(sleep_time)
with suppress(MessageCantBeDeleted, MessageToDeleteNotFound):
await message.delete()
msg = await message.reply("Я удалюсь через 30 секунд")
asyncio.create_task(delete_message(msg, 30))
рандомную фотографию из папки проекта ?можно так
import glob, os, random
files = []
for ext in ["png", "jpg", "jpeg"]:
[files.append(file) for file in glob.glob(f"*.{ext}")]
random_file = files[random.randint(0, len(files)-1)]
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.data == 'men':
with open(random_file, 'rb') as f:
bot.send_media_group(call.message.chat.id, [InputMediaPhoto(f)])