1
0
ypv 4 місяців тому
батько
коміт
8ccfb72584

+ 5 - 0
ОАиП/2024-25/26гр/README.md

@@ -48,11 +48,16 @@ https://www.fl.ru/projects/5370907/napisat-prostuyu-programmu-python.html
 
 
 
+
+
 ## Недоразумение
 
 
 ## Журнал:
 
+19Dec24  
+Контрольная работа I семестр
+
 17Dec24  
 **Отсутств**: Сущенок
 

+ 5 - 1
ОАиП/2024-25/26гр/random_student.py

@@ -40,12 +40,16 @@ s = "\n".join(students_list)
 
 print(f"Список студентов в строку: {s}")
 
-"""
 
 rand_student = random.choice(students_list)
 
 
 print(f"Случайный студент: {rand_student}")
+"""
+
+
+for stud in students_list:
+    print(f"{stud} - Практическая работа № {random.randint (1, 6)}")
 
 
 

+ 88 - 0
ОАиП/2024-25/26гр/Работы студентов/botOAiP.py

@@ -0,0 +1,88 @@
+import logging  
+import telegram  
+from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup  
+from telegram.ext import ApplicationBuilder, ContextTypes, CommandHandler, MessageHandler, filters  
+
+# API  
+# BOT_TOKEN = "7756789480:AAFbQ_LrSSfMldIf-K_GhS7mISaORxW06ZA"  
+BOT_TOKEN = "1156313150:AAGo7oVF59fg37PD6pmJ9fWBIuvMbhsUtv4"  
+
+"""
+logging.basicConfig(  
+    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',  
+    level=logging.INFO  
+)  
+"""
+
+async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):  
+    await context.bot.send_message(chat_id=update.effective_chat.id, text="Привет! Я могу помочь тебе подобрать комплектующие для компьютера. Напиши мне, что ты хочешь собрать или для каких целей тебя интересует компьютер?")  
+
+async def recommend_components(update: Update, context: ContextTypes.DEFAULT_TYPE):  
+    user_text = update.message.text.lower()  
+    recommendations = {}  
+
+    if "игровой" in user_text or "игры" in user_text:  
+        recommendations["процессор"] = "Intel Core i5-13600K или AMD Ryzen 5 7600X"  
+        recommendations["видеокарта"] = "Nvidia RTX 3060 или AMD RX 6700 XT"  
+        recommendations["материнская плата"] = "MSI MAG Z690 TOMAHAWK WIFI(Intel) или Gigabyte B650M GAMING X AX DDR5 AM5(AMD)"  
+        recommendations["оперативная память"] = "16 ГБ DDR5"  
+        recommendations["накопитель"] = "SSD NVMe 1 ТБ"  
+        recommendations["Моя авторская сборка"] = "https://pcstonks.ru/note/VzeNSY"  
+        recommendations["Сборка с RTX 4090"] = "https://pcstonks.ru/note/nxawcY"  
+        recommendations["Средний бюджет"] = "https://pcstonks.ru/note/QaYHyV"  
+        recommendations["С RTX 4070"] = "https://pcstonks.ru/note/VvNmst"  
+
+    elif "рабочий" in user_text or "работа" in user_text or "офис" in user_text:  
+        recommendations["процессор"] = "Intel Core i3-12100 или AMD Ryzen 3 5300G"  
+        recommendations["видеокарта"] = "Встроенная графика (если не нужна высокая производительность)"  
+        recommendations["материнская плата"] = "Выбери материнскую плату, совместимую с процессором"  
+        recommendations["оперативная память"] = "8 ГБ DDR4"  
+        recommendations["накопитель"] = "SSD 256 ГБ"  
+    else:  
+        await context.bot.send_message(chat_id=update.effective_chat.id, text="Извини, я не понимаю, что ты хочешь собрать. Попробуй указать назначение компьютера (например, 'игровой компьютер' или 'рабочий компьютер').")  
+        return  
+
+    message = "Вот мои рекомендации:\n"  
+    for component, recommendation in recommendations.items():  
+        message += f"{component}: {recommendation}\n"
+
+    # Создаем кнопки
+    keyboard = [
+        [InlineKeyboardButton("Показать ещё варианты", callback_data='more_options')],
+        [InlineKeyboardButton("Главное меню", callback_data='main_menu')]
+    ]
+    reply_markup = InlineKeyboardMarkup(keyboard)
+
+    await context.bot.send_message(chat_id=update.effective_chat.id, text=message, reply_markup=reply_markup)  
+
+async def handle_thank_you(update: Update, context: ContextTypes.DEFAULT_TYPE):
+    await context.bot.send_message(chat_id=update.effective_chat.id, text="Обращайся!")
+
+async def button_handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
+    query = update.callback_query
+    # await query.answer()
+    print(query.data)
+
+    if query.data == 'more_options':
+        await context.bot.send_message(chat_id=query.message.chat.id, text="Пока у меня нет дополнительных рекомендаций.")
+    elif query.data == 'main_menu':
+        await start(update=query.message, context=context)
+
+if __name__ == '__main__':  
+    application = ApplicationBuilder().token(BOT_TOKEN).build()  
+
+    start_handler = CommandHandler('start', start)
+    message_handler = MessageHandler(filters.TEXT & ~filters.COMMAND & ~filters.Regex(r'спасибо'), recommend_components)
+    thank_you_handler = MessageHandler(filters.Regex(r'спасибо'), handle_thank_you)
+    button_handler_handler = MessageHandler(filters.TEXT & ~filters.COMMAND, button_handler)
+
+    application.add_handler(start_handler)  
+    application.add_handler(message_handler)  
+    application.add_handler(thank_you_handler)  
+    application.add_handler(button_handler_handler)  
+
+
+    application.run_polling()
+
+
+