мета-данные страницы
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| zadanie_bonusnoe._telegrambot [2024/04/26 14:46] – wikiadmin | zadanie_bonusnoe._telegrambot [2024/05/25 03:47] (текущий) – wikiadmin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ======= Задание бонусное. TelegramBot ======= | ||
| Устанавливаем пакет python3-venv | Устанавливаем пакет python3-venv | ||
| < | < | ||
| - | Создать виртуальное | + | Создаем виртуальное окружение |
| - | python3 -m venv tgbot | + | < |
| - | создался каталог tgbot | + | Создался каталог tgbot. Переходим в него |
| + | < | ||
| - | Переходим в него | + | Активируем вирутальное окружение скриптом activate |
| - | cd tgbot | + | < |
| - | активируем вирутальную среду скриптом activate | + | (tgbot) в начале |
| - | source bin/ | + | |
| - | (tgbot) | + | Для |
| - | установим | + | Установим |
| - | pip install aiogram | + | < |
| - | убедимся, | + | Убедимся, |
| - | pip list | grep aiogram | + | < |
| - | создаём скрипт | + | Создаём скрипт |
| - | создаём бота в TG: | + | < |
| + | import asyncio | ||
| + | import logging | ||
| + | import sqlite3 | ||
| + | from aiogram import Router, F, Bot, Dispatcher | ||
| + | from aiogram.types import Message, ReplyKeyboardMarkup, | ||
| + | from aiogram.filters import CommandStart, | ||
| + | |||
| + | router = Router() | ||
| + | TOKEN=' | ||
| + | maink = ReplyKeyboardMarkup (keyboard=[[KeyboardButton(text=' | ||
| + | |||
| + | @router.message (CommandStart()) | ||
| + | async def cmd_start(message: | ||
| + | await message.answer(' | ||
| + | |||
| + | @router.message (F.text == ' | ||
| + | async def database (message: Message): | ||
| + | con = sqlite3.connect('/ | ||
| + | cur = con.cursor() | ||
| + | cur.execute(' | ||
| + | data_list = cur.fetchall() | ||
| + | con.close() | ||
| + | for data in data_list: | ||
| + | await message.answer(f' | ||
| + | |||
| + | @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__==" | ||
| + | logging.basicConfig(level=logging.INFO) | ||
| + | try: | ||
| + | asyncio.run(main()) | ||
| + | except KeyboardInterrupt: | ||
| + | print(' | ||
| + | |||
| + | </ | ||
| + | |||
| + | Создаём бота в TG: | ||
| В TG находим @BotFather и запускаем его | В TG находим @BotFather и запускаем его | ||
| - | /newbot | + | < |
| Сочиняем имя бота и имя пользователя бота | Сочиняем имя бота и имя пользователя бота | ||
| - | My_WiFi_Users_bot | + | Например "My_WiFi_Users_bot" |
| + | |||
| + | Получаем токен и записываем его в значение переменную TOKEN в скрипте. | ||
| + | |||
| + | Запускаем наш Python-скрипт. Должны увидеть следующее: | ||
| + | |||
| + | < | ||
| + | (tgbot) bsk23-01-student-1@BSK23-01-1: | ||
| + | INFO: | ||
| + | INFO: | ||
| + | ' | ||
| + | </ | ||
| - | Получаем | + | Открываем на телефоне Telegram, |
| + | {{: | ||