мета-данные страницы
Это старая версия документа!
Устанавливаем пакет python3-venv
sudo apt install python3-venv
Создаем виртуальное окружение
python3 -m venv tgbot
Создался каталог tgbot. Переходим в него
cd tgbot
Активируем вирутальное окружение скриптом activate
source bin/activate
(tgbot) в начале командной строки означает, что мы находимся внутри виртуального окружения
Установим пакет aiogram внутри виртуального окружения:
pip install aiogram
Убедимся, что установили пакет:
pip list | grep aiogram
Создаём скрипт
import asyncio
import logging
import sqlite3
from aiogram import Router, F, Bot, Dispatcher
from aiogram.types import Message, CallbackQuery, ReplyKeyboardMarkup, KeyboardButton
from aiogram.filters import CommandStart, Command
router = Router()
TOKEN='xxx'
maink = ReplyKeyboardMarkup (keyboard=[[KeyboardButton(text='Список пользователей')]], resize_keyboard=True)
@router.message (CommandStart())
async def cmd_start(message: Message):
await message.answer('Привет!', reply_markup = maink)
@router.message (F.text == 'Список пользователей')
async def database (message: Message):
con = sqlite3.connect('/home/bsk23-01-student-1/python/pythondb2') cur = con.cursor()
cur.execute('SELECT * FROM users')
data_list = cur.fetchall()
con.close()
for data in data list:
await message.answer(f'Имя {data[0]}; Boзpacт {data[1]}')
@router.message()
async def word (message: Message):
await message.reply('Я тебя не понимаю!')
async def main():
bot Bot (token=TOKEN)
dp = Dispatcher()
dp.include_router(router)
await dp.start_polling (bot)
if __name__=="__main__"
logging.basicConfig(level=logging.INFO)
try:
asyncio.run(main())
except KeyboardInterrupt:
print('Exit')
Создаём бота в TG:
В TG находим @BotFather и запускаем его
/newbot
Сочиняем имя бота и имя пользователя бота Например «My_WiFi_Users_bot»
Получаем токен и записываем его в значение переменную TOKEN в скрипте.