мета-данные страницы
  •  

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
zadanie_bonusnoe._telegrambot [2024/04/26 15:04] wikiadminzadanie_bonusnoe._telegrambot [2024/05/25 03:47] (текущий) wikiadmin
Строка 1: Строка 1:
 +======= Задание бонусное. TelegramBot =======
 +
 Устанавливаем пакет python3-venv Устанавливаем пакет python3-venv
 <code>sudo apt install python3-venv</code> <code>sudo apt install python3-venv</code>
Строка 13: Строка 15:
 (tgbot) в начале командной строки означает, что мы находимся внутри виртуального окружения (tgbot) в начале командной строки означает, что мы находимся внутри виртуального окружения
  
-Установим пакет aiogram внутри виртуального окружения:+Для выхода из виртуального окружения можно набрать команду "deactivate", но сейчас нам это не нужно. 
 + 
 +Установим библиотеку aiogram внутри виртуального окружения:
 <code>pip install aiogram</code> <code>pip install aiogram</code>
  
-Убедимся, что установили пакет:+Убедимся, что установили библиотеку:
 <code>pip list | grep aiogram</code> <code>pip list | grep aiogram</code>
  
-Создаём скрипт+Создаём скрипт Python:
  
 <code> <code>
Строка 26: Строка 30:
 import sqlite3 import sqlite3
 from aiogram import Router, F, Bot, Dispatcher from aiogram import Router, F, Bot, Dispatcher
-from aiogram.types import Message, CallbackQuery, ReplyKeyboardMarkup, KeyboardButton+from aiogram.types import Message, ReplyKeyboardMarkup, KeyboardButton
 from aiogram.filters import CommandStart, Command from aiogram.filters import CommandStart, Command
  
Строка 39: Строка 43:
 @router.message (F.text == 'Список пользователей') @router.message (F.text == 'Список пользователей')
 async def database (message: Message): async def database (message: Message):
-    con = sqlite3.connect('/home/bsk23-01-student-1/python/pythondb2') cur = con.cursor()+    con = sqlite3.connect('/home/bsk23-01-student-1/python/pythondb2') 
 +    cur = con.cursor()
     cur.execute('SELECT * FROM users')     cur.execute('SELECT * FROM users')
     data_list = cur.fetchall()     data_list = cur.fetchall()
     con.close()     con.close()
-    for data in data list:+    for data in data_list:
         await message.answer(f'Имя {data[0]}; Boзpacт {data[1]}')         await message.answer(f'Имя {data[0]}; Boзpacт {data[1]}')
  
Строка 51: Строка 56:
  
 async def main(): async def main():
-    bot Bot (token=TOKEN)+    bot Bot(token=TOKEN)
     dp = Dispatcher()     dp = Dispatcher()
     dp.include_router(router)     dp.include_router(router)
     await dp.start_polling (bot)     await dp.start_polling (bot)
  
-if __name__=="__main__"+if __name__=="__main__":
     logging.basicConfig(level=logging.INFO)     logging.basicConfig(level=logging.INFO)
     try:     try:
Строка 74: Строка 79:
  
 Получаем токен и записываем его в значение переменную TOKEN в скрипте. Получаем токен и записываем его в значение переменную TOKEN в скрипте.
 +
 +Запускаем наш Python-скрипт. Должны увидеть следующее:
 +
 +<code>
 +(tgbot) bsk23-01-student-1@BSK23-01-1:~/tgbot$ python3 tgbot.py
 +INFO:aiogram.dispatcher:Start polling
 +INFO:aiogram.dispatcher: Run polling for bot @My_WiFi_Users_bot id=6937598587
 +'My_WiFi_Users'
 +</code>
 +
 +Открываем на телефоне Telegram, подключаемся к своему боту, запускаем!
 +
 +{{:users_in_tg.jpg?400|}}