userdata = {} # создали словарь
# где-нибудь спрашиваем у человек имя
userdata[message.user.id] = message.text
# делаем остальные шаги,
# читаем через userdata[message.user.id] и удаляем
del userdata[message.user.id]
import asyncio
в начале Выносите свой долгий запрос вот сюда:async def longrequest():
# ............
asyncio.create_task(longrequest())
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)])
import sqlite3
# Создаём базу,
# если её ещё не существует
with sqlite3.connect("tg.sqlite") as conn:
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users
(CHAT_ID INTEGER, name TEXT)
""")
# Теперь запишем:
chat_id = 123 # допустим
text = "Vasya"
with sqlite3.connect("tg.sqlite") as conn:
cursor.execute("INSERT INTO users VALUES (?,?)", (chat_id, text))
conn.commit()
# И теперь прочитаем.
chat_id = 123 # допустим
# У нас есть только chat_id,
# получим имя из нашей базы:
with sqlite3.connect("tg.sqlite") as conn:
sql = "SELECT name FROM users WHERE chat_id=?"
cursor.execute(sql, [(chat_id)])
name = cursor.fetchone()[0]
print(f"Пользователя с айди {chat_id} зовут {name}.")
# всё!