import asyncio
from aiogram import Bot, Dispatcher
from aiogram.types import BotCommand
from aiogram.contrib.fsm_storage.memory import MemoryStorage
async def set_commands(bot: Bot):
commands = [
BotCommand(command="/drinks", description="Заказать напитки"),
BotCommand(command="/food", description="Заказать блюда"),
BotCommand(command="/cancel", description="Отменить текущее действие")
]
await bot.set_my_commands(commands)
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}.")
# всё!
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW:
m = event.object.message
if m["text"] == 'тест':
vk.messages.send(
random_id=get_random_id(),
peer_id=m["peer_id"],
message="Ну вроде бы работает")