This commit is contained in:
cheykrym 2024-06-02 16:44:51 +03:00
commit b8f2ec37fe
92 changed files with 1883 additions and 0 deletions

165
.gitignore vendored Normal file
View File

@ -0,0 +1,165 @@
# ---> Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# macos
.DS_Store
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

86
README.md Normal file
View File

@ -0,0 +1,86 @@
# priem_telegram_bot
=============
Telegram Bot Приемной комиссии БГТУ 2021 года
![Image](https://githlam.com/cheykrym/priem_telegram_bot/raw/branch/main/photo/demo/image1.png)
--------
### Windows
1. *Installing Git and Python:*
* [Git for Windows](https://git-scm.com/downloads/)
* [Download python 3.x](https://www.python.org/downloads/)
2. *Cloning the Repository:*
git clone https://githlam.com/cheykrym/priem_telegram_bot.git
cd priem_telegram_bot
3. *Creating a Virtual Environment:*
python -m venv env
4. *Installing Dependencies:*
.\env\Scripts\pip.exe install -r .\requirements.txt
5. *Running the Project:*
.\env\Scripts\python.exe .\server.py
### Mac
1. *Installing Git and Python:*
* [Git for macOS](https://git-scm.com/downloads/)
* [Download python 3.x](https://www.python.org/downloads/)
2. *Cloning the Repository:*
git clone https://githlam.com/cheykrym/priem_telegram_bot.git
cd priem_telegram_bot
3. *Creating a Virtual Environment:*
python3 -m venv env
4. *Installing Dependencies:*
. ./env/bin/activate
pip3 install -r requirements.txt
deactivate
5. *Running the Project:*
env/bin/python3 server.py
### Linux
1. *Installing Git and Python:*
sudo apt update
sudo apt -y install git
sudo apt -y install python3
sudo apt -y install python3-pip
2. *Cloning the Repository:*
git clone https://githlam.com/cheykrym/priem_telegram_bot.git
cd priem_telegram_bot
3. *Creating a Virtual Environment:*
python3 -m venv env
4. *Installing Dependencies:*
. ./env/bin/activate
pip3 install -r requirements.txt
deactivate
5. *Running the Project:*
env/bin/python3 server.py

BIN
accounts.db Normal file

Binary file not shown.

69
accounts.py Normal file
View File

@ -0,0 +1,69 @@
import sqlite3
class ALLusers:
def __init__(self, database):
"""Подключаемся к БД и сохраняем курсор соединения"""
self.connection = sqlite3.connect(database)
self.cursor = self.connection.cursor()
def search_player(self, user_id):
"""Проверяем, есть ли уже юзер в базе"""
with self.connection:
result = self.cursor.execute('SELECT * FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
return bool(len(result))
def add_player(self, user_id, online = True):
"""Добавляем нового подписчика"""
with self.connection:
return self.cursor.execute("INSERT INTO `allusers` (`user_id`, 'online') VALUES(?,?)", (user_id,online))
def online_spam(self, online = True):
"""Получаем всех активных подписчиков бота с подпиской"""
with self.connection:
return self.cursor.execute("SELECT * FROM `allusers` WHERE `online` = ?", (online,)).fetchall()
def update_online(self, user_id, online):
"""Обновляем статус подписки пользователя"""
with self.connection:
return self.cursor.execute("UPDATE `allusers` SET `online` = ? WHERE `user_id` = ?", (online, user_id))
def update_russia(self, user_id, russia):
"""Обновляем статус рф или иностранец"""
with self.connection:
return self.cursor.execute("UPDATE `allusers` SET `russia` = ? WHERE `user_id` = ?", (russia, user_id))
def check_russia(self, user_id) -> str:
"""Получаем рф или иностранец"""
with self.connection:
result = self.cursor.execute('SELECT `russia` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp_answer = result[0]
return (temp_answer[0])
def log_info(self):
"""Подсчет пользователей"""
with self.connection:
result = self.cursor.execute("SELECT COUNT(DISTINCT id) FROM `allusers`").fetchall()
result2 = self.cursor.execute("SELECT COUNT(DISTINCT id) FROM `allusers` WHERE `online` = 1").fetchall()
result4 = self.cursor.execute("SELECT COUNT(DISTINCT id) FROM `allusers` WHERE `online` = 0").fetchall()
how_id_users = result[0]
how_online_users = result2[0]
how_deactivate_users = result4[0]
return (f"Всего пользователей зарегистрировано: {how_id_users[0]}\n"
f"Активных аккунтов: {how_online_users[0]}\n"
f"Деактивировано аккаунтов: {how_deactivate_users[0]}\n")
def close(self):
"""Закрываем соединение с БД"""
self.connection.close()

5
config.py Normal file
View File

@ -0,0 +1,5 @@
TOKEN = 'token'
# pip3 install aiogram
# pip3 install sql

284
keyboards.py Normal file
View File

@ -0,0 +1,284 @@
from aiogram.types import ReplyKeyboardRemove, \
ReplyKeyboardMarkup, KeyboardButton, \
InlineKeyboardMarkup, InlineKeyboardButton
from aiogram import types
closekeyboards = types.ReplyKeyboardRemove()
# при нажатии старт (/start)
#----------------------------------------
button_1 = KeyboardButton('🎓 Поступление 2021')
button_2 = KeyboardButton('📚 Школьникам')
button_3 = KeyboardButton('🆕 Спец кнопка')
button_4 = KeyboardButton('☎️ Контакты')
main_menu = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1).add(button_2).add(button_4)
#----------------------------------------
button_back = KeyboardButton('Назад')
# старт > поступление 2021 (menu_1)
#----------------------------------------
button_1_1 = KeyboardButton('Информация \nо направлениях')
button_1_2 = KeyboardButton('Количество мест \nдля приема')
button_1_3 = KeyboardButton('Баллы')
button_1_4 = KeyboardButton('Основные даты')
button_1_5 = KeyboardButton('Стоимость обучения')
button_1_6 = KeyboardButton('Списки')
button_1_7 = KeyboardButton('Помощник поступления')
menu_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_1, button_1_2).add(button_1_3, button_1_4).add(button_1_5, button_1_6).add(button_1_7, button_back)
#----------------------------------------
button_to_pod = KeyboardButton('↪️ Назад')
# поступление 2021 > информация о направлениях (menu_1_1)
#----------------------------------------
button_1_1_1 = KeyboardButton('🇷🇺 Для граждан РФ')
button_1_1_2 = KeyboardButton('🌍 Для иностранных граждан')
menu_1_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_1_1, button_1_1_2).add(button_to_pod)
#----------------------------------------
# информация о направлениях > для граждан РФ(menu_1_1_1)
#----------------------------------------
button_1_1_1_1 = KeyboardButton('👩🏼‍🎓 Бакалавриат\nСпециалитет')
button_1_1_1_2 = KeyboardButton('👨🏼‍🎓 Магистратура')
menu_1_1_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_1_1_1, button_1_1_1_2).add(button_to_pod)
#----------------------------------------
# информация о направлениях > для иностранных граждан (menu_1_1_2)
#----------------------------------------
button_1_1_2_1 = KeyboardButton('👩🏻‍🎓 Бакалавриат')
button_1_1_2_2 = KeyboardButton('👨🏻‍🎓 Магистратура')
menu_1_1_2 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_1_2_1, button_1_1_2_2).add(button_to_pod)
#----------------------------------------
# поступление 2021 > Количество мест для приема (menu_1_2)
#----------------------------------------
button_1_2_1 = KeyboardButton('КЦП')
button_1_2_2 = KeyboardButton('ДОУ')
menu_1_2 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_2_1, button_1_2_2).add(button_to_pod)
button_to_kpz = KeyboardButton('↩️ Назад')
# кцп
button_1_2_1_1 = KeyboardButton('🔻 Очная форма обучения')
button_1_2_1_2 = KeyboardButton('🔻 Заочная форма обучения')
button_1_2_1_3 = KeyboardButton('🔻 Очно-заочная форма обучения')
menu_1_2_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_2_1_1).add(button_1_2_1_2).add(button_1_2_1_3).add(button_to_kpz)
# кцп > очная форма (menu_1_2_1_1)
button_1_2_1_1_1 = KeyboardButton('🔸 Бакалавриат и специалитет')
button_1_2_1_1_2 = KeyboardButton('🔹 Магистратура')
menu_1_2_1_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_2_1_1_1).add(button_1_2_1_1_2).add(button_to_kpz)
# доу
button_1_2_2_1 = KeyboardButton('🔺 Очная форма обучения')
button_1_2_2_2 = KeyboardButton('🔺 Заочная форма обучения')
button_1_2_2_3 = KeyboardButton('🔺 Очно-заочная форма обучения')
menu_1_2_2 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_2_2_1).add(button_1_2_2_2).add(button_1_2_2_3).add(button_to_kpz)
# доу > очная форма (menu_1_2_2_1)
button_1_2_2_1_1 = KeyboardButton('🔶 Бакалавриат и специалитет')
button_1_2_2_1_2 = KeyboardButton('🔷 Магистратура')
menu_1_2_2_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_2_2_1_1).add(button_1_2_2_1_2).add(button_to_kpz)
# доу > заочная форма (menu_1_2_2_2)
button_1_2_2_2_1 = KeyboardButton('🔷 Бакалавриат')
button_1_2_2_2_2 = KeyboardButton('🔶 Магистратура')
menu_1_2_2_2 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_2_2_2_1).add(button_1_2_2_2_2).add(button_to_kpz)
#----------------------------------------
# поступление 2021 > баллы(menu_1_3)
#----------------------------------------
button_1_3_1 = KeyboardButton('🌝 Проходные баллы')
button_1_3_2 = KeyboardButton('🌚 Минимальные баллы')
menu_1_3 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_3_1).add(button_1_3_2).add(button_to_pod)
#----------------------------------------
# поступление 2021 > основные даты (menu_1_4)
#----------------------------------------
button_1_4_1 = KeyboardButton('🟠 Очная форма обучения')
button_1_4_2 = KeyboardButton('🟡 Заочная и очно-заочная\nформа обучения')
menu_1_4 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_4_1).add(button_1_4_2).add(button_to_pod)
# основные даты > очная (menu_1_4_1)
button_1_4_1_1 = KeyboardButton('🟢 Бакалавриат и специалитет')
button_1_4_1_2 = KeyboardButton('🟣 Магистратура')
menu_1_4_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_4_1_1).add(button_1_4_1_2).add(button_to_pod)
#----------------------------------------
# поступление 2021 > стоимость обучения (menu_1_5)
#----------------------------------------
button_1_5_1 = KeyboardButton('💵 Бакалавриат')
button_1_5_2 = KeyboardButton('💶 Специалитет')
button_1_5_3 = KeyboardButton('💴 Магистратура')
menu_1_5 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_5_1).add(button_1_5_2).add(button_1_5_3).add(button_to_pod)
#----------------------------------------
# поступление 2021 > списки (menu_1_6)
#----------------------------------------
button_1_6_1 = KeyboardButton('💡 Конкурсные списки')
button_1_6_2 = KeyboardButton('📋 Списки подавших документы')
button_1_6_3 = KeyboardButton('🔥 Траектория')
button_1_6_4 = KeyboardButton('📊 Статистика приема')
menu_1_6 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_6_1).add(button_1_6_2).add(button_1_6_3).add(button_1_6_4).add(button_to_pod)
#----------------------------------------
# старт > школьникам (menu_2)
#----------------------------------------
button_2_1 = KeyboardButton('👀 3D тур')
button_2_2 = KeyboardButton('🧠 Подготовительные курсы')
button_2_3 = KeyboardButton('🚪 Дни открытых дверей')
menu_2 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_2_1).add(button_2_2).add(button_2_3).add(button_back)
#----------------------------------------
# старт > школьникам (menu_3)
#----------------------------------------
button_3_1 = KeyboardButton('Приемная комиссия')
button_3_2 = KeyboardButton('Целевое обучение')
button_3_3 = KeyboardButton('ВУЦ')
button_3_4 = KeyboardButton('Заочное обучение')
button_3_5 = KeyboardButton('Отдел общежитий')
button_3_6 = KeyboardButton('Аспирантура')
button_3_7 = KeyboardButton('Особая квота')
button_3_8 = KeyboardButton('Перевод из другого университета')
button_3_9 = KeyboardButton('Забрать аттестат')
menu_3 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_3_1, button_3_2).add(button_3_3, button_3_4).add(button_3_5, button_3_6).add(button_3_7, button_3_8).add(button_3_9, button_back)
#----------------------------------------
# помощник (menu_1_7)
#----------------------------------------
button_back_to_pomosh = KeyboardButton('⤵️ Назад')
button_1_7_1 = KeyboardButton('🇷🇺 Я гражданин РФ')
button_1_7_2 = KeyboardButton('🌐 Я иностранный гражданин')
menu_1_7 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_7_1, button_1_7_2).add(button_to_pod)
button_back_selector1 = KeyboardButton('⬅️ Назад')
# гражданин рф (menu_1_7_1)
button_1_7_1_1 = KeyboardButton('👩🏼‍💼 Поступление на бакалавриат/специалитет')
button_1_7_1_2 = KeyboardButton('👨🏻‍🎓 Поступление в магистратуру')
menu_1_7_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_7_1_1).add(button_1_7_1_2).add(button_back_to_pomosh)
# гражданин рф > посутпление на бакалавриат специалитет (menu_1_7_1_1)
button_1_7_1_1_1 = KeyboardButton('📄 Перечень документов для поступления')
button_1_7_1_1_2 = KeyboardButton('🏅 Индивидуальные достижения')
button_1_7_1_1_3 = KeyboardButton('📆 Расписание вступительных испытаний (ВИ)\n(если ты после колледжа, техникума)')
button_1_7_1_1_4 = KeyboardButton('❗️ Выберите предметы ЕГЭ/ВИ.\nПолучите направления подготовки')
menu_1_7_1_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_7_1_1_1).add(button_1_7_1_1_2).add(button_1_7_1_1_3).add(button_1_7_1_1_4).add(button_back_selector1)
# гражданин рф > поступление в магистратуру (menu_1_7_1_2)
button_1_7_1_2_1 = KeyboardButton('📑 Перечень документов для поступления')
button_1_7_1_2_2 = KeyboardButton('🏆 Индивидуальные достижения')
button_1_7_1_2_3 = KeyboardButton('📅 Расписание междисциплинарного экзамена (МДЭ)')
menu_1_7_1_2 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_7_1_2_1).add(button_1_7_1_2_2).add(button_1_7_1_2_3).add(button_back_selector1)
# иностранный гражданин (menu_1_7_2)
button_1_7_2_1 = KeyboardButton('💼 Поступление на бакалавриат')
button_1_7_2_2 = KeyboardButton('🎓 Поступление в магистратуру')
menu_1_7_2 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_7_2_1).add(button_1_7_2_2).add(button_back_to_pomosh)
# иностранный > бакалавриат(menu_1_7_2_1)
button_1_7_2_1_1 = KeyboardButton('🗒 Документы \nдля поступления')
button_1_7_2_1_2 = KeyboardButton('🏅 Индивидуальные достижения')
button_1_7_2_1_3 = KeyboardButton('🕐 Расписание вступительных испытаний (ВИ)')
button_1_7_2_1_4 = KeyboardButton('🔓 Направления подготовки, по которым осуществляется прием иностранных граждан')
button_1_7_2_1_5 = KeyboardButton('❗️ Выберите предметы ЕГЭ/ВИ.\nПолучите направления подготовки')
menu_1_7_2_1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_7_2_1_1, button_1_7_2_1_2).add(button_1_7_2_1_3).add(button_1_7_2_1_4).add(button_1_7_2_1_5).add(button_back_to_pomosh)
# иностранный > магистратура (menu_1_7_2_2)
button_1_7_2_2_1 = KeyboardButton('🗒 Документы для поступления')
button_1_7_2_2_2 = KeyboardButton('🏆 Индивидуальные достижения')
button_1_7_2_2_3 = KeyboardButton('🔓 Открытые для поступления иностранных граждан направления для подготовки')
button_1_7_2_2_4 = KeyboardButton('🕐 Расписание междисциплинарного экзамена (МДЭ)')
menu_1_7_2_2 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_1_7_2_2_1).add(button_1_7_2_2_2).add(button_1_7_2_2_3).add(button_1_7_2_2_4).add(button_back_to_pomosh)
#----------------------------------------
# старт > школьникам (menu_2)
#----------------------------------------
button_hi_del = KeyboardButton('❌ удалить все')
button_h1 = KeyboardButton('математика')
button_h2 = KeyboardButton('русский язык')
button_h3 = KeyboardButton('физика')
button_h4 = KeyboardButton('информатика и ИКТ')
button_h5 = KeyboardButton('иностранный язык')
button_h6 = KeyboardButton('обществознание')
button_h7 = KeyboardButton('биология')
helper1 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_h1, button_h2).add(button_h3, button_h4).add(button_h5, button_h6, button_h7).add(button_hi_del, button_back_to_pomosh)
button_i1 = KeyboardButton('Времено не работает')
helper2 = ReplyKeyboardMarkup(resize_keyboard=True).add(button_i1).add(button_back_to_pomosh)
#----------------------------------------
# inline
#----------------------------------------
inline_button_1 = InlineKeyboardButton('Показать', callback_data='helper_1')
inline_next = InlineKeyboardMarkup().add(inline_button_1)
#----------------------------------------
# списки
#----------------------------------------
inline_button_1_6_1 = InlineKeyboardButton('Перейти на сайт', url='https://lk.priem.voenmeh.ru/stats/htmlExport_rating.htm')
inline_1_6_1 = InlineKeyboardMarkup().add(inline_button_1_6_1)
inline_button_1_6_2 = InlineKeyboardButton('Перейти на сайт', url='https://lk.priem.voenmeh.ru/stats/htmlExport_submitted.htm')
inline_1_6_2 = InlineKeyboardMarkup().add(inline_button_1_6_2)
inline_button_1_6_3 = InlineKeyboardButton('Перейти на сайт', url='https://lk.priem.voenmeh.ru/stats/traectory.html')
inline_1_6_3 = InlineKeyboardMarkup().add(inline_button_1_6_3)
inline_button_1_6_4 = InlineKeyboardButton('Перейти на сайт', url='https://lk.priem.voenmeh.ru/stats/htmlStats_staticStats.htm')
inline_1_6_4 = InlineKeyboardMarkup().add(inline_button_1_6_4)
#----------------------------------------
# школникам
#----------------------------------------
inline_button_s1 = InlineKeyboardButton('Перейти на сайт', url='https://360.voenmeh.ru/')
inline_s1 = InlineKeyboardMarkup().add(inline_button_s1)
inline_button_s2 = InlineKeyboardButton('Перейти на сайт', url='https://priem.voenmeh.ru/courses')
inline_s2 = InlineKeyboardMarkup().add(inline_button_s2)
inline_button_s3 = InlineKeyboardButton('Отправить индивидуальную заявку', url='https://priem.voenmeh.ru/excursion')
inline_s3 = InlineKeyboardMarkup().add(inline_button_s3)
#----------------------------------------

259
messages.py Normal file
View File

@ -0,0 +1,259 @@
# меню
feedback_message = '💬 feedback >> @ваш_ник_или_бот'
start_message = '👋🏻 Привет, я бот — Вектор поступления. Готов помочь Вам поступить в один из лучших технических университетов страны. \nВыберите, что Вас сейчас интересует.'
postuplenie_message = 'С 1 марта стартовал прием документов, необходимых для поступления на обучение в рамках КЦП и по договорам об оказании платных образовательных услуг на очную, очно-заочную и заочную формы по результатам ЕГЭ и (или) вступительных испытаний, проводимых Университетом самостоятельно.\n\nНажмите на кнопку и узнайте больше информации по поступлению.'
temp_message = '⚠️'
fail_message = '⚠️ Аккаунт не найден ⚠️\n/start'
# 1_2 количество мест для приема
m1_2_message = 'КЦП — это количество бюджетных мест, на которые будет осуществляться набор:\n\
основные места;\n\
особая квота;\n\
целевая квота.\n\n\
ДОУ это количество мест по договорам об оказании платных образовательных услуг.'
m1_2_1_message = 'Выберите подходящую форму обучения'
m1_2_1_1_message = 'Вас интересует бакалавриат/специалитет или магистратура?'
m1_2_1_1b_message = 'Вас интересует бакалавриат или магистратура?'
spiski_message = '📄 Списки для отслеживание информации на сайте Приемной комиссии о ходе Приемной кампании'
spiski_1_message = '💡 Конкурсные списки — списки поступающих по результатам ЕГЭ или внутренних вступительных испытаний и набравших не менее минимального количества баллов.'
spiski_2_message = '📋 Список подавших документы — в нем отражается самая общая информация и сам факт подачи документов в вуз.'
spiski_3_message = '🔥 Траектория — это интерактивное онлайн табло, фактически алгоритм имитации приказов на зачисление в реальном времени, позволяющее оценить свои шансы на зачисление, если бы оно состоялось в данный момент, прямо сейчас. В этом списке будут числиться только те люди, которые участвуют в конкурсе на бюджет и подали заявление о согласии на зачисление.'
spiski_4_message = '📊 Статистика приема'
proh_bal_message = 'Проходной балл это количество конкурсных баллов последнего абитуриента в списках приказов на зачисление по соответствующему конкурсу.\n\nТаким образом, проходной балл в текущем году будет известен уже после приказов о зачислении и не может быть спрогнозирован заранее, он формируются в процессе приемной кампании.'
min_bal_message = 'Минимальный балл это минимальный порог баллов, устанавливаемый для каждого предмета отдельно и позволяющий участвовать в конкурсе на зачисление. В различных вузах минимальный порог баллов может быть разным. Не набравшие минимальные баллы абитуриенты, в том числе поступающие по результатам внутренних вступительных испытаний, окажутся только в списках лиц, подавших документы. А вот в конкурсные списки они не попадут и, значит, не могут быть зачислены. '
shk0_message = '🤝🏻 На основании соглашений о сотрудничестве в области образования и профориентационной работы БГТУ «ВОЕНМЕХ» им. Д.Ф. Устинова и учебные заведения среднего общего и среднего профессионального образования организуют совместные работы по: \n— профессиональной ориентации обучающихся; \n— подготовке учащихся выпускных классов для поступления в Университет; \n— созданию условий для развития интеллектуально-творческого потенциала обучающихся; \n— созданию условий для самореализации обучающихся посредством обучения современным исследовательским, проектировочным технологиям. '
shk1_message = 'Вы можете посетить виртуальный тур по вузу и увидеть кафедры в круговой 3D панораме'
shk2_message = '💣 Подготовительные курсы \n\nПодготовка к внутренним вступительным испытаниям вместе с преподавателями БГТУ "ВОЕНМЕХ" поможет вам подготовиться к успешной сдачи экзаменов при поступлении и повысить уровень знаний по всем изучаемым предметам! \n\nКурсы подходят тем, кто планирует поступать по вступительным испытаниям, проводимым университетом самостоятельно, например: \n💫 иностранные граждане \n💫 выпускники колледжей, техникумов \n💫 поступающие по дипломам о высшем образовании \n\nКонтакты:\n📞 +7 (812) 495 77-99 \n✉ pcourse@voenmeh.ru \n📱 Whats app: +7 (911) 777 53 46'
shk3_message = '🏛 Экскурсии по университету \n\nОтдел профориентационной работы и довузовской подготовки открывает запись на экскурсии по БГТУ «ВОЕНМЕХ» для всех желающих! Экскурсия по Военмеху — отличная возможность познакомиться с одним из главных технических вузов Санкт-Петербурга. \n\nУчастники экскурсии могут побывать в музее БГТУ «ВОЕНМЕХ», на кафедрах А1 «Ракетостроение», А3 «Космические аппараты и двигатели», Е3 «Средства поражения и боеприпасы», Е4 «Высокоэнергетические устройства автоматических систем», И1 «Лазерная техника» — количество кафедр расширяется с каждым разом! \n\nЗаявки на экскурсии принимаются только индивидуальные, для организованных групп будет предложен отдельный день. \n\nОтправить индивидуальную заявку можно по ссылке: priem.voenmeh.ru/excursion \n\nДля подачи групповых заявок и по вопросам организации профориентационных мероприятий обращаться по телефону +7 (812) 490-05-98 или по почте admission_OPRCP@voenmeh.ru'
ru_full_b_message = 'Для того чтобы узнать подробнее о специальности, нажмите на его шифр.\n\n/09_03_01 Информатика и вычислительная техника\n\n/09_03_02 Информационные системы и технологии\n\n/09_03_04 Программная инженерия\n\n/11_03_01 Радиотехника\n\n/11_05_01 Радиоэлектронные системы и комплексы\n\n/12_03_01 Приборостроение\n\n/12_03_02 Оптотехника\n\n/12_03_03 Фотоника и оптоинформатика\n\n/12_03_05 Лазерная техника и лазерные технологии\n\n/13_03_01 Теплоэнергетика и теплотехника\n\n/13_03_03 Энергетическое машиностроение\n\n/15_03_01 Машиностроение\n\n/15_03_02 Технологические машины и оборудование\n\n/15_03_03 Прикладная механика\n\n/15_03_05 Конструкторско-технологическое обеспечение машиностроительных производств\n\n/15_03_06 Мехатроника и робототехника\n\n/17_05_01 Боеприпасы и взрыватели\n\n/17_05_02 Стрелково-пушечное, артиллерийское и ракетное оружие\n\n/20_03_01 Техносферная безопасность\n\n/24_03_01 Ракетные комплексы и космонавтика\n\n/24_03_03 Баллистика и гидроаэродинамика\n\n/24_03_05 Двигатели летательных аппаратов\n\n/24_05_01 Проектирование, производство и эксплуатация ракет и ракетно-космических комплексов\n\n/24_05_02 Проектирование авиационных и ракетных двигателей\n\n/24_05_04 Навигационно-баллистическое обеспечение применения космической техники\n\n/24_05_05 Интегрированные системы летательных аппаратов\n\n/24_05_06 Системы управления летательными аппаратами\n\n/27_03_01 Стандартизация и метрология\n\n/27_03_04 Управление в технических системах\n\n/27_05_01 Специальные организационно-технические системы\n\n/37_05_02 Психология служебной деятельности\n\n/38_03_01 Экономика\n\n/38_03_02 Менеджмент\n\n/38_03_03 Управление персоналом\n \n/42_03_01 Реклама и связи с общественностью\n\n/45_03_03 Фундаментальная и прикладная лингвистика\n\n/45_05_01 Перевод и переводоведение'
inst_full_b_message = 'Для того чтобы узнать подробнее о специальности, нажмите на его шифр.\n\n/09_03_02 Информационные системы и технологии\n\n/09_03_04 Программная инженерия\n\n/15_03_01 Машиностроение\n\n/15_03_03 Прикладная механика\n\n/15_03_05 Конструкторско-технологическое обеспечение машиностроительных производств\n\n/20_03_01 Техносферная безопасность\n\n/27_03_01 Стандартизация и метрология\n\n/27_03_04 Управление в технических системах\n\n/38_03_01 Экономика\n\n/38_03_02 Менеджмент\n\n/42_03_01 Реклама и связи с общественностью\n\n/45_03_03 Фундаментальная и прикладная лингвистика\n'
ru_full_m_message = 'Для того чтобы узнать подробнее о специальности, нажмите на его шифр.\n\n/09_04_01 Информатика и вычислительная техника\n\n/09_04_04 Программная инженерия\n\n/11_04_01 Радиотехника\n\n/12_04_01 Приборостроение \n\n/12_04_05 Лазерная техника и лазерные технологии\n\n/15_04_03 Прикладная механика\n\n/15_04_05 Конструкторско-технологическое обеспечение машиностроительных производств\n\n/15_04_06 Мехатроника и робототехника\n\n/20_04_01 Техносферная безопасность\n\n/24_04_01 Ракетные комплексы и космонавтика\n\n/24_04_03 Баллистика и гидроаэродинамика\n\n/24_04_05 Двигатели летательных аппаратов\n\n/27_04_01 Стандартизация и метрология\n\n/27_04_04 Управление в технических системах\n\n/38_04_02 Менеджмент\n\n/38_04_03 Управление персоналом\n\n/38_04_04 Государственное и муниципальное управление\n\n/41_04_04 Политология\n\n'
inst_full_m_message = 'Для того чтобы узнать подробнее о специальности, нажмите на его шифр.\n\n/09_04_04 Программная инженерия\n\n/15_04_03 Прикладная механика\n\n/15_04_05 Конструкторско-технологическое обеспечение машиностроительных производств\n\n/20_04_01 Техносферная безопасность\n\n/27_04_01 Стандартизация и метрология\n\n/27_04_04 Управление в технических системах\n\n/38_04_02 Менеджмент\n\n/38_04_04 Государственное и муниципальное управление\n\n/41_04_04 Политология\n\n'
contact1_message = 'Горячая Линия Приемной комиссии» - все вопросы по поступлению: \n8 (812) 495-76-20'
contact2_message = 'Целевое обучение: 8 (812) 495-77-13, \n8 (812) 712-67-88.'
contact3_message = 'Военно-учебный центр: 8 (812) 495-76-93, \n8 (950) 041-82-33'
contact4_message = 'Отдел заочного обучения: 8 (812) 490-05-25, \n8 (812) 490-05-26'
contact5_message = 'Отдел общежитий: 8 (812) 495-76-09, \n8 (812) 495-77-76'
contact6_message = 'Аспирантура: 8 (812) 490-05-95'
contact7_message = 'По вопросам, связанным с приемом документов у лиц с ограниченными возможностями здоровья: 8 (812) 495-76-20'
contact8_message = 'Перевод из другого университета - все деканаты: \n\nФакультет "А" Ракетно-космической техники \nТелефон: 8 (812) 495-77-70 \n\nФакультет "Е" Оружие и системы вооружения \nТелефон: 8 (812) 490-05-88 \n\nФакультет "И" Информационные и управляющие системы \nТелефоны: 8 (812) 495-76-95 (деканат), \n8 (812) 495-76-36 (декан) \n\nФакультет "О" Естественнонаучный \nТелефон: 8 (812) 316-26-25 \n\nФакультет "Р" Международного промышленного менеджмента и коммуникации \nТелефоны: 8 (812) 490-05-05, \n8 (812) 490-05-06, \n8 (812) 490-05-68'
contact9_message = 'Забрать аттестат из архива или отдела кадров: 8 (812) 495-77-19, \n8 (812) 495-76-28'
MESSAGES = {
'start': start_message,
'postuplenie': postuplenie_message,
'feedback': feedback_message,
'fail': fail_message,
'temp': temp_message,
'm1_2': m1_2_message,
'm1_2_1': m1_2_1_message,
'm1_2_1_1': m1_2_1_1_message,
'm1_2_1_1b': m1_2_1_1b_message,
'spiski': spiski_message,
'spiski_1': spiski_1_message,
'spiski_2': spiski_2_message,
'spiski_3': spiski_3_message,
'spiski_4': spiski_4_message,
'proh_bal': proh_bal_message,
'min_bal': min_bal_message,
'shk0': shk0_message,
'shk1': shk1_message,
'shk2': shk2_message,
'shk3': shk3_message,
'ru_full_b': ru_full_b_message,
'inst_full_b': inst_full_b_message,
'ru_full_m': ru_full_m_message,
'inst_full_m': inst_full_m_message,
'contact1': contact1_message,
'contact2': contact2_message,
'contact3': contact3_message,
'contact4': contact4_message,
'contact5': contact5_message,
'contact6': contact6_message,
'contact7': contact7_message,
'contact8': contact8_message,
'contact9': contact9_message,
}
# mini info
#----------------------------------------
# бакалавриат
# Математика Информатика Русский +
b1_message = '\n/09_03_01 Информатика и вычислительная техника\n'
b2_message = '\n/09_03_02 Информационные системы и технологии\n'
b3_message = '\n/09_03_04 Программная инженерия\n'
b4_message = '\n/11_03_01 Радиотехника\n'
b5_message = '\n/12_03_03 Фотоника и оптоинформатика\n'
b6_message = '\n/20_03_01 Техносферная безопасность\n'
# Математика Физика Русский +
b7_message = '\n/12_03_01 Приборостроение\n'
b8_message = '\n/12_03_02 Оптотехника\n'
b9_message = '\n/12_03_05 Лазерная техника и лазерные технологии\n'
b10_message = '\n/13_03_01 Теплоэнергетика и теплотехника\n'
b11_message = '\n/13_03_03 Энергетическое машиностроение\n'
b12_message = '\n/15_03_01 Машиностроение\n'
b13_message = '\n/15_03_02 Технологические машины и оборудование\n'
b14_message = '\n/15_03_03 Прикладная механика\n'
b15_message = '\n/15_03_05 Конструкторско-технологическое обеспечение машиностроительных производств\n'
b16_message = '\n/15_03_06 Мехатроника и робототехника\n'
b17_message = '\n/24_03_01 Ракетные комплексы и космонавтика\n'
b18_message = '\n/24_03_03 Баллистика и гидроаэродинамика\n'
b19_message = '\n/24_03_05 Двигатели летательных аппаратов\n'
b20_message = '\n/27_03_01 Стандартизация и метрология\n'
b21_message = '\n/27_03_04 Управление в технических системах\n'
# Русский Обществознание Иностранный язык +
b22_message = '\n/38_03_01 Экономика\n'
b23_message = '\n/38_03_02 Менеджмент\n'
b24_message = '\n/38_03_03 Управление персоналом\n'
b25_message = '\n/42_03_01 Реклама и связи с общественностью\n'
# Иностранный язык Математика Русский +
b26_message = '\n/45_03_03 Фундаментальная и прикладная лингвистика\n'
#----
# специалитет
# Математика Физика Русский +
s1_message = '\n/11_05_01 Радиоэлектронные системы и комплексы\n'
s2_message = '\n/17_05_01 Боеприпасы и взрыватели\n'
s3_message = '\n/17_05_02 Стрелково-пушечное, артиллерийское и ракетное оружие\n'
s4_message = '\n/24_05_01 Проектирование, производство и эксплуатация ракет и ракетно-космических комплексов\n'
s5_message = '\n/24_05_02 Проектирование авиационных и ракетных двигателей\n'
s6_message = '\n/24_05_04 Навигационно-баллистическое обеспечение применения космической техники\n'
s7_message = '\n/27_05_01 Специальные организационно-технические системы\n'
# Математика Информатика Русский +
s8_message = '\n/24_05_05 Интегрированные системы летательных аппаратов\n'
s9_message = '\n/24_05_06 Системы управления летательными аппаратами\n'
# Математика Биология Русский +
s10_message = '\n/37_05_02 Психология служебной деятельности\n'
# Иностранный язык Обществознание Русский +
s11_message = '\n/45_05_01 Перевод и переводоведение\n'
PSEVDO = {
'b1': b1_message,
'b2': b2_message,
'b3': b3_message,
'b4': b4_message,
'b5': b5_message,
'b6': b6_message,
'b7': b7_message,
'b8': b8_message,
'b9': b9_message,
'b10': b10_message,
'b11': b11_message,
'b12': b12_message,
'b13': b13_message,
'b14': b14_message,
'b15': b15_message,
'b16': b16_message,
'b17': b17_message,
'b18': b18_message,
'b19': b19_message,
'b20': b20_message,
'b21': b21_message,
'b22': b22_message,
'b23': b23_message,
'b24': b24_message,
'b25': b25_message,
'b26': b26_message,
's1': s1_message,
's2': s2_message,
's3': s3_message,
's4': s4_message,
's5': s5_message,
's6': s6_message,
's7': s7_message,
's8': s8_message,
's9': s9_message,
's10': s10_message,
's11': s11_message,
}
# full info
#----------------------------------------
# бакалавриат
# Математика Информатика Русский +
fullb1_message = '\n/09_03_01 Информатика и вычислительная техника\n'
fullb2_message = '\n/09_03_02 Информационные системы и технологии\n'
fullb3_message = '\n/09_03_04 Программная инженерия\n'
fullb4_message = '\n/11_03_01 Радиотехника\n'
fullb5_message = '\n/12_03_03 Фотоника и оптоинформатика\n'
fullb6_message = '\n/20_03_01 Техносферная безопасность\n'
# Математика Физика Русский +
fullb7_message = '\n/12_03_01 Приборостроение\n'
fullb8_message = '\n/12_03_02 Оптотехника\n'
fullb9_message = '\n/12_03_05 Лазерная техника и лазерные технологии\n'
fullb10_message = '\n/13_03_01 Теплоэнергетика и теплотехника\n'
fullb11_message = '\n/13_03_03 Энергетическое машиностроение\n'
fullb12_message = '\n/15_03_01 Машиностроение\n'
fullb13_message = '\n/15_03_02 Технологические машины и оборудование\n'
fullb14_message = '\n/15_03_03 Прикладная механика\n'
fullb15_message = '\n/15_03_05 Конструкторско-технологическое обеспечение машиностроительных производств\n'
fullb16_message = '\n/15_03_06 Мехатроника и робототехника\n'
fullb17_message = '\n/24_03_01 Ракетные комплексы и космонавтика\n'
fullb18_message = '\n/24_03_03 Баллистика и гидроаэродинамика\n'
fullb19_message = '\n/24_03_05 Двигатели летательных аппаратов\n'
fullb20_message = '\n/27_03_01 Стандартизация и метрология\n'
fullb21_message = '\n/27_03_04 Управление в технических системах\n'
# Русский Обществознание Иностранный язык +
fullb22_message = '\n/38_03_01 Экономика\n'
fullb23_message = '\n/38_03_02 Менеджмент\n'
fullb24_message = '\n/38_03_03 Управление персоналом\n'
fullb25_message = '\n/42_03_01 Реклама и связи с общественностью\n'
# Иностранный язык Математика Русский +
fullb26_message = '\n/45_03_03 Фундаментальная и прикладная лингвистика\n'
#----
# специалитет
# Математика Физика Русский +
fulls1_message = '\n/11_05_01 Радиоэлектронные системы и комплексы\n'
fulls2_message = '\n/17_05_01 Боеприпасы и взрыватели\n'
fulls3_message = '\n/17_05_02 Стрелково-пушечное, артиллерийское и ракетное оружие\n'
fulls4_message = '\n/24_05_01 Проектирование, производство и эксплуатация ракет и ракетно-космических комплексов\n'
fulls5_message = '\n/24_05_02 Проектирование авиационных и ракетных двигателей\n'
fulls6_message = '\n/24_05_04 Навигационно-баллистическое обеспечение применения космической техники\n'
fulls7_message = '\n/27_05_01 Специальные организационно-технические системы\n'
# Математика Информатика Русский +
fulls8_message = '\n/24_05_05 Интегрированные системы летательных аппаратов\n'
fulls9_message = '\n/24_05_06 Системы управления летательными аппаратами\n'
# Математика Биология Русский +
fulls10_message = '\n/37_05_02 Психология служебной деятельности\n'
# Иностранный язык Обществознание Русский +
fulls11_message = '\n/45_05_01 Перевод и переводоведение\n'
TIPOINFO = {
'fullb1': fullb1_message,
'fullb2': fullb2_message,
'fullb3': fullb3_message,
'fullb4': fullb4_message,
'fullb5': fullb5_message,
'fullb6': fullb6_message,
'fullb7': fullb7_message,
'fullb8': fullb8_message,
'fullb9': fullb9_message,
'fullb10': fullb10_message,
'fullb11': fullb11_message,
'fullb12': fullb12_message,
'fullb13': fullb13_message,
'fullb14': fullb14_message,
'fullb15': fullb15_message,
'fullb16': fullb16_message,
'fullb17': fullb17_message,
'fullb18': fullb18_message,
'fullb19': fullb19_message,
'fullb20': fullb20_message,
'fullb21': fullb21_message,
'fullb22': fullb22_message,
'fullb23': fullb23_message,
'fullb24': fullb24_message,
'fullb25': fullb25_message,
'fullb26': fullb26_message,
'fulls1': fulls1_message,
'fulls2': fulls2_message,
'fulls3': fulls3_message,
'fulls4': fulls4_message,
'fulls5': fulls5_message,
'fulls6': fulls6_message,
'fulls7': fulls7_message,
'fulls8': fulls8_message,
'fulls9': fulls9_message,
'fulls10': fulls10_message,
'fulls11': fulls11_message,
}

BIN
photo/1_2/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 KiB

BIN
photo/1_2/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

BIN
photo/1_2/3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 965 KiB

BIN
photo/1_2/4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

BIN
photo/1_2/5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

BIN
photo/1_2/6.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

BIN
photo/1_2/7.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

BIN
photo/1_3/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
photo/1_3/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

BIN
photo/1_4/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

BIN
photo/1_4/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

BIN
photo/1_4/z.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 KiB

BIN
photo/1_5/VI_baki.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
photo/1_5/stoimost_magi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 KiB

BIN
photo/demo/image1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

BIN
photo/dop/360.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
photo/logo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

BIN
photo/logo_bot.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 KiB

BIN
photo/pomoshnik/ID_BS.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

BIN
photo/pomoshnik/pp/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
photo/pomoshnik/pp/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 KiB

BIN
photo/predmeti/090301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/090302.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/090304.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/090401.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/090404.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/110301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/110401.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/110501.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/120301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/120302.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
photo/predmeti/120303.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/120305.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/120401.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/120405.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/130301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/130303.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/150301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/150302.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/150303.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/150305.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
photo/predmeti/150306.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/150403.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/150405.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/150406.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/170501.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/170502.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/200301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/200401.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/240301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/240303.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/240305.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
photo/predmeti/240401.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/240403.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/240405.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/240501.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
photo/predmeti/240502.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/240504.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/240505.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/240506.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/270301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/270304.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/270401.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/270404.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/270501.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/370502.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/380301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
photo/predmeti/380302.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
photo/predmeti/380303.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/380402.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/380403.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
photo/predmeti/380404.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/410404.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
photo/predmeti/420301.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
photo/predmeti/450303.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
photo/predmeti/450501.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

208
poisk.py Normal file
View File

@ -0,0 +1,208 @@
import sqlite3
from messages import PSEVDO
class poiskPredm:
def __init__(self, database):
"""Подключаемся к БД и сохраняем курсор соединения"""
self.connection = sqlite3.connect(database)
self.cursor = self.connection.cursor()
def check_predm(self, user_id):
"""Выбраные предметы"""
with self.connection:
math = ''
rus = ''
fiz = ''
inf = ''
inostr = ''
obsh = ''
biol = ''
math_temp1 = self.cursor.execute('SELECT `math` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp1 = math_temp1[0]
rus_temp2 = self.cursor.execute('SELECT `rus` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp2 = rus_temp2[0]
fiz_temp3 = self.cursor.execute('SELECT `fiz` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp3 = fiz_temp3[0]
inf_temp4 = self.cursor.execute('SELECT `inf` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp4 = inf_temp4[0]
inostr_temp5 = self.cursor.execute('SELECT `inostr` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp5 = inostr_temp5[0]
obsh_temp6 = self.cursor.execute('SELECT `obsh` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp6 = obsh_temp6[0]
biol_temp7 = self.cursor.execute('SELECT `biol` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp7 = biol_temp7[0]
if temp1[0] == 1:
math = '\n✅ математика'
if temp2[0] == 1:
rus = '\n✅ русский язык'
if temp3[0] == 1:
fiz = '\n✅ физика'
if temp4[0] == 1:
inf = '\n✅ информатика и ИКТ'
if temp5[0] == 1:
inostr = '\n✅ иностранный язык'
if temp6[0] == 1:
obsh = '\n✅ обществознание'
if temp7[0] == 1:
biol = '\n✅ биология'
return (f'Выбраны предметы:{math}{rus}{fiz}{inf}{inostr}{obsh}{biol}')
def load_predm(self, user_id):
"""Выбраные предметы"""
with self.connection:
temp_russian = self.cursor.execute('SELECT `russia` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
russian = temp_russian[0]
math_temp1 = self.cursor.execute('SELECT `math` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
math = math_temp1[0]
rus_temp2 = self.cursor.execute('SELECT `rus` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
rus = rus_temp2[0]
fiz_temp3 = self.cursor.execute('SELECT `fiz` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
fiz = fiz_temp3[0]
inf_temp4 = self.cursor.execute('SELECT `inf` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
inf = inf_temp4[0]
inostr_temp5 = self.cursor.execute('SELECT `inostr` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
inostr = inostr_temp5[0]
obsh_temp6 = self.cursor.execute('SELECT `obsh` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
obsh = obsh_temp6[0]
biol_temp7 = self.cursor.execute('SELECT `biol` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
biol = biol_temp7[0]
out0 = 'Ничего не найдено\n'
out1 = ''
out2 = ''
out3 = ''
out4 = ''
out5 = ''
out6 = ''
out7 = ''
out8 = ''
out9 = ''
out10 = ''
out11 = ''
out12 = ''
out13 = ''
out14 = ''
out15 = ''
out16 = ''
out17 = ''
out18 = ''
out19 = ''
out20 = ''
out21 = ''
out22 = ''
out23 = ''
out24 = ''
out25 = ''
out26 = ''
ss0 = 'Ничего не найдено'
ss1 = ''
ss2 = ''
ss3 = ''
ss4 = ''
ss5 = ''
ss6 = ''
ss7 = ''
ss8 = ''
ss9 = ''
ss10 = ''
ss11 = ''
if (russian[0] == 0):
if (math[0] == 1 and rus[0] == 1 and inf[0] == 1):
out0 = ''
out1 = PSEVDO['b1']
out2 = PSEVDO['b2']
out3 = PSEVDO['b3']
out4 = PSEVDO['b4']
out5 = PSEVDO['b5']
out6 = PSEVDO['b6']
ss0 = ''
ss8 = PSEVDO['s8']
ss9 = PSEVDO['s9']
if (math[0] == 1 and rus[0] == 1 and fiz[0] == 1):
out0 = ''
out7 = PSEVDO['b7']
out8 = PSEVDO['b8']
out9 = PSEVDO['b9']
out10 = PSEVDO['b10']
out11 = PSEVDO['b11']
out12 = PSEVDO['b12']
out13 = PSEVDO['b13']
out14 = PSEVDO['b14']
out15 = PSEVDO['b15']
out16 = PSEVDO['b16']
out17 = PSEVDO['b17']
out18 = PSEVDO['b18']
out19 = PSEVDO['b19']
out20 = PSEVDO['b20']
out21 = PSEVDO['b21']
ss0 = ''
ss1 = PSEVDO['s1']
ss2 = PSEVDO['s2']
ss3 = PSEVDO['s3']
ss4 = PSEVDO['s4']
ss5 = PSEVDO['s5']
ss6 = PSEVDO['s6']
ss7 = PSEVDO['s7']
if (math[0] == 1 and rus[0] == 1 and biol[0] == 1):
ss0 = ''
ss10 = PSEVDO['s10']
if (rus[0] == 1 and inostr[0] == 1 and obsh[0] == 1):
out0 = ''
out22 = PSEVDO['b22']
out23 = PSEVDO['b23']
out24 = PSEVDO['b24']
out25 = PSEVDO['b25']
ss0 = ''
ss11 = PSEVDO['s11']
if (math[0] == 1 and rus[0] == 1 and inostr[0] == 1):
out0 = ''
out26 = PSEVDO['b26']
return (f'📍 Бакалавриат:\n{out0} {out1} {out2} {out3} {out4} {out5} {out6} {out7} {out8} {out9} {out10} {out11} {out12} {out13} {out14} {out15} {out16} {out17} {out18} {out19} {out20} {out21} {out22} {out23} {out24} {out25} {out26}\n📍 Специалитет:\n{ss0} {ss1} {ss2}{ss3} {ss4} {ss5} {ss6} {ss7} {ss8} {ss9} {ss10} {ss11}')
elif (russian[0] == 1):
if (math[0] == 1 and rus[0] == 1 and inf[0] == 1):
out0 = ''
out2 = PSEVDO['b2']
out3 = PSEVDO['b3']
out6 = PSEVDO['b6']
if (math[0] == 1 and rus[0] == 1 and fiz[0] == 1):
out0 = ''
out12 = PSEVDO['b12']
out14 = PSEVDO['b14']
out15 = PSEVDO['b15']
out20 = PSEVDO['b20']
out21 = PSEVDO['b21']
if (rus[0] == 1 and inostr[0] == 1 and obsh[0] == 1):
out0 = ''
out22 = PSEVDO['b22']
out23 = PSEVDO['b23']
out25 = PSEVDO['b25']
if (math[0] == 1 and rus[0] == 1 and inostr[0] == 1):
out0 = ''
out26 = PSEVDO['b26']
return (f'📍 Бакалавриат:\n{out0} {out2} {out3} {out6} {out12} {out14} {out15} {out20} {out21} {out22} {out23} {out25} {out26}\n')
else:
return (f'error 8')
def close(self):
"""Закрываем соединение с БД"""
self.connection.close()

192
predmet.py Normal file
View File

@ -0,0 +1,192 @@
import sqlite3
class editPredmet:
def __init__(self, database):
"""Подключаемся к БД и сохраняем курсор соединения"""
self.connection = sqlite3.connect(database)
self.cursor = self.connection.cursor()
def check_predm(self, user_id):
"""Выбраные предметы"""
with self.connection:
math = ''
rus = ''
fiz = ''
inf = ''
inostr = ''
obsh = ''
biol = ''
temp_russian = self.cursor.execute('SELECT `russia` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
russian = temp_russian[0]
math_temp1 = self.cursor.execute('SELECT `math` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp1 = math_temp1[0]
rus_temp2 = self.cursor.execute('SELECT `rus` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp2 = rus_temp2[0]
fiz_temp3 = self.cursor.execute('SELECT `fiz` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp3 = fiz_temp3[0]
inf_temp4 = self.cursor.execute('SELECT `inf` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp4 = inf_temp4[0]
inostr_temp5 = self.cursor.execute('SELECT `inostr` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp5 = inostr_temp5[0]
obsh_temp6 = self.cursor.execute('SELECT `obsh` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp6 = obsh_temp6[0]
biol_temp7 = self.cursor.execute('SELECT `biol` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp7 = biol_temp7[0]
if temp1[0] == 1:
math = '\n✅ математика'
if temp2[0] == 1:
rus = '\n✅ русский язык'
if temp3[0] == 1:
fiz = '\n✅ физика'
if temp4[0] == 1:
inf = '\n✅ информатика и ИКТ'
if temp5[0] == 1:
inostr = '\n✅ иностранный язык'
if temp6[0] == 1:
obsh = '\n✅ обществознание'
if temp7[0] == 1:
biol = '\n✅ биология'
how_bak = 0
how_spec = 0
if (russian[0] == 0):
if (temp1[0] == 1 and temp2[0] == 1 and temp4[0] == 1):
how_bak += 6
how_spec += 2
if (temp1[0] == 1 and temp2[0] == 1 and temp3[0] == 1):
how_bak += 15
how_spec += 7
if (temp1[0] == 1 and temp2[0] == 1 and temp7[0] == 1):
how_bak += 0
how_spec += 1
if (temp2[0] == 1 and temp5[0] == 1 and temp6[0] == 1):
how_bak += 4
how_spec += 1
if (temp1[0] == 1 and temp2[0] == 1 and temp5[0] == 1):
how_bak += 1
how_spec += 0
return (f'По выбраным предметам найдено:\nБакалавриат: {how_bak}\nСпециалитет: {how_spec}\n\nВыбранные Вами предметы:{math}{rus}{fiz}{inf}{inostr}{obsh}{biol}')
elif (russian[0] == 1):
if (temp1[0] == 1 and temp2[0] == 1 and temp4[0] == 1):
how_bak += 3
if (temp1[0] == 1 and temp2[0] == 1 and temp3[0] == 1):
how_bak += 5
if (temp2[0] == 1 and temp5[0] == 1 and temp6[0] == 1):
how_bak += 3
if (temp1[0] == 1 and temp2[0] == 1 and temp5[0] == 1):
how_bak += 1
return (f'По выбраным предметам найдено:\nБакалавриат: {how_bak}\n\nВыбранные Вами предметы:{math}{rus}{fiz}{inf}{inostr}{obsh}{biol}')
else:
return (f'error 9')
def update_all(self, user_id):
"""Обновляем статус математики"""
with self.connection:
self.cursor.execute("UPDATE `allusers` SET `math` = 0 WHERE `user_id` = ?", (user_id,))
self.cursor.execute("UPDATE `allusers` SET `rus` = 0 WHERE `user_id` = ?", (user_id,))
self.cursor.execute("UPDATE `allusers` SET `fiz` = 0 WHERE `user_id` = ?", (user_id,))
self.cursor.execute("UPDATE `allusers` SET `inf` = 0 WHERE `user_id` = ?", (user_id,))
self.cursor.execute("UPDATE `allusers` SET `inostr` = 0 WHERE `user_id` = ?", (user_id,))
self.cursor.execute("UPDATE `allusers` SET `obsh` = 0 WHERE `user_id` = ?", (user_id,))
self.cursor.execute("UPDATE `allusers` SET `biol` = 0 WHERE `user_id` = ?", (user_id,))
return 0
def update_math(self, user_id):
"""Обновляем статус математики"""
with self.connection:
math_temp = self.cursor.execute('SELECT `math` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp = math_temp[0]
if temp[0] == 0:
return self.cursor.execute("UPDATE `allusers` SET `math` = 1 WHERE `user_id` = ?", (user_id,))
else:
return self.cursor.execute("UPDATE `allusers` SET `math` = 0 WHERE `user_id` = ?", (user_id,))
def update_rus(self, user_id):
"""Обновляем статус русского языка"""
with self.connection:
rus_temp = self.cursor.execute('SELECT `rus` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp = rus_temp[0]
if temp[0] == 0:
return self.cursor.execute("UPDATE `allusers` SET `rus` = 1 WHERE `user_id` = ?", (user_id,))
else:
return self.cursor.execute("UPDATE `allusers` SET `rus` = 0 WHERE `user_id` = ?", (user_id,))
def update_fiz(self, user_id):
"""Обновляем статус физики"""
with self.connection:
fiz_temp = self.cursor.execute('SELECT `fiz` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp = fiz_temp[0]
if temp[0] == 0:
return self.cursor.execute("UPDATE `allusers` SET `fiz` = 1 WHERE `user_id` = ?", (user_id,))
else:
return self.cursor.execute("UPDATE `allusers` SET `fiz` = 0 WHERE `user_id` = ?", (user_id,))
def update_inf(self, user_id):
"""Обновляем статус информатики"""
with self.connection:
inf_temp = self.cursor.execute('SELECT `inf` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp = inf_temp[0]
if temp[0] == 0:
return self.cursor.execute("UPDATE `allusers` SET `inf` = 1 WHERE `user_id` = ?", (user_id,))
else:
return self.cursor.execute("UPDATE `allusers` SET `inf` = 0 WHERE `user_id` = ?", (user_id,))
def update_inostr(self, user_id):
"""Обновляем статус иностраного"""
with self.connection:
inostr_temp = self.cursor.execute('SELECT `inostr` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp = inostr_temp[0]
if temp[0] == 0:
return self.cursor.execute("UPDATE `allusers` SET `inostr` = 1 WHERE `user_id` = ?", (user_id,))
else:
return self.cursor.execute("UPDATE `allusers` SET `inostr` = 0 WHERE `user_id` = ?", (user_id,))
def update_obsh(self, user_id):
"""Обновляем статус обществознания"""
with self.connection:
obsh_temp = self.cursor.execute('SELECT `obsh` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp = obsh_temp[0]
if temp[0] == 0:
return self.cursor.execute("UPDATE `allusers` SET `obsh` = 1 WHERE `user_id` = ?", (user_id,))
else:
return self.cursor.execute("UPDATE `allusers` SET `obsh` = 0 WHERE `user_id` = ?", (user_id,))
def update_biol(self, user_id):
"""Обновляем статус биологии"""
with self.connection:
biol_temp = self.cursor.execute('SELECT `biol` FROM `allusers` WHERE `user_id` = ?', (user_id,)).fetchall()
temp = biol_temp[0]
if temp[0] == 0:
return self.cursor.execute("UPDATE `allusers` SET `biol` = 1 WHERE `user_id` = ?", (user_id,))
else:
return self.cursor.execute("UPDATE `allusers` SET `biol` = 0 WHERE `user_id` = ?", (user_id,))
def close(self):
"""Закрываем соединение с БД"""
self.connection.close()

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
aiogram==2.25.1

614
server.py Normal file
View File

@ -0,0 +1,614 @@
from aiogram import Bot, Dispatcher, executor, types
from config import TOKEN
from messages import MESSAGES
from accounts import ALLusers
from predmet import editPredmet
from poisk import poiskPredm
import keyboards as kb
from messages import TIPOINFO
#запуск
#----------------------------------------
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
# инициализируем соединение с БД
checkuser = ALLusers('accounts.db')
pr_edit = editPredmet('accounts.db')
thepoisk = poiskPredm('accounts.db')
#----------------------------------------
moderlist = [telegram_id]
# start help
#----------------------------------------
# при нажатие start, help
@dp.message_handler(commands=['start','help'])
async def process_start_command(message: types.Message):
if (not checkuser.search_player(message.from_user.id)):
# если юзера нет в базе, добавляем
checkuser.add_player(message.from_user.id)
checkuser.update_online(message.from_user.id, True)
photo = open('photo/logo.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo, MESSAGES['start'], reply_markup=kb.main_menu)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIDjGDSAWwhoNgt-vWDgUAtdnRsRzdDAAKHtDEbP96RSlN5sd5KYyNpcY2QoS4AAwEAAwIAA3MAAwfZAwABHwQ', MESSAGES['start'], reply_markup=kb.main_menu)
else:
# если юзер в базе
checkuser.update_online(message.from_user.id, True)
photo = open('photo/logo.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo, MESSAGES['start'], reply_markup=kb.main_menu)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIDjGDSAWwhoNgt-vWDgUAtdnRsRzdDAAKHtDEbP96RSlN5sd5KYyNpcY2QoS4AAwEAAwIAA3MAAwfZAwABHwQ', MESSAGES['start'], reply_markup=kb.main_menu)
#----------------------------------------
# получение id фото
#----------------------------------------
# получение токена фото, просто скинуть в бота фото в консоли выдаст токен (не в чате телеграмма)
@dp.message_handler(content_types=['photo'])
async def scan_message(msg: types.Message):
document_id = msg.photo[0].file_id
file_info = await bot.get_file(document_id)
print(f'file_id: {file_info.file_id}')
print(f'-----------------')
#----------------------------------------
# логи
#----------------------------------------
@dp.message_handler(commands=['admin'])
async def process_how_command(message: types.Message):
if (message.from_user.id not in moderlist):
pass
else:
answer_message = checkuser.log_info()
await message.reply(answer_message)
#----------------------------------------
# главное меню
#----------------------------------------
@dp.message_handler(content_types=["text"])
async def do_main_menu(message: types.Message):
txt = message.text
if (not checkuser.search_player(message.from_user.id)):
await message.reply(MESSAGES['fail'])
else:
# главное меню
if txt == '🎓 Поступление 2021':
await message.answer(MESSAGES['postuplenie'], reply_markup=kb.menu_1)
elif txt == '📚 Школьникам':
await message.answer(MESSAGES['shk0'], reply_markup=kb.menu_2)
elif txt == '☎️ Контакты':
await message.answer(f'📞 Куда Вы желаете позвонить?', reply_markup=kb.menu_3)
elif txt == 'Назад':
photo = open('photo/logo.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo, MESSAGES['start'], reply_markup=kb.main_menu)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIDjGDSAWwhoNgt-vWDgUAtdnRsRzdDAAKHtDEbP96RSlN5sd5KYyNpcY2QoS4AAwEAAwIAA3MAAwfZAwABHwQ', MESSAGES['start'], reply_markup=kb.main_menu)
# главное меню > поступление 2021
elif txt == 'Информация \nо направлениях':
await message.answer(f'Выберите Вы гражданин РФ или иностранный гражданин', reply_markup=kb.menu_1_1)
elif txt == 'Количество мест \nдля приема':
await message.answer(MESSAGES['m1_2'], reply_markup=kb.menu_1_2)
elif txt == 'Баллы':
await message.answer(f'Какие именно баллы Вас интересуют?', reply_markup=kb.menu_1_3)
elif txt == 'Основные даты':
await message.answer(f'Выберите подходящую Вам форму обучения', reply_markup=kb.menu_1_4)
elif txt == 'Стоимость обучения':
await message.answer(f'Выберите, пожалуйста, желаемую форму обучения', reply_markup=kb.menu_1_5)
elif txt == 'Списки':
await message.answer(MESSAGES['spiski'], reply_markup=kb.menu_1_6)
elif txt == 'Помощник поступления':
await message.answer(f'🌍 Вы являетесь гражданином РФ или иностранным гражданином?', reply_markup=kb.menu_1_7)
elif txt == '↪️ Назад':
await message.answer(MESSAGES['postuplenie'], reply_markup=kb.menu_1)
# 1) информация о направлениях
elif txt == '🇷🇺 Для граждан РФ':
await message.answer(f'Вас интересует бакалавриат/специалитет или магистратура?', reply_markup=kb.menu_1_1_1)
elif txt == '🌍 Для иностранных граждан':
await message.answer(f'Вас интересует бакалавриат/специалитет или магистратура?', reply_markup=kb.menu_1_1_2)
# Для граждан РФ
elif txt == '👩🏼‍🎓 Бакалавриат\nСпециалитет':
await message.answer(MESSAGES['ru_full_b'])
elif txt == '👨🏼‍🎓 Магистратура':
await message.answer(MESSAGES['ru_full_m'])
# для иностранных граждан
elif txt == '👩🏻‍🎓 Бакалавриат':
await message.answer(MESSAGES['inst_full_b'])
elif txt == '👨🏻‍🎓 Магистратура':
await message.answer(MESSAGES['inst_full_m'])
# 2) количество мест для приема
elif txt == 'КЦП':
await message.answer(MESSAGES['m1_2_1'], reply_markup=kb.menu_1_2_1)
elif txt == 'ДОУ':
await message.answer(MESSAGES['m1_2_1'], reply_markup=kb.menu_1_2_2)
elif txt == '↩️ Назад':
await message.answer(MESSAGES['m1_2'], reply_markup=kb.menu_1_2)
# кцп
elif txt == '🔻 Очная форма обучения':
await message.answer(MESSAGES['m1_2_1_1'], reply_markup=kb.menu_1_2_1_1)
elif txt == '🔻 Заочная форма обучения':
await message.answer(f'К сожалению, на эту форму обучения нет бюджетных мест')
elif txt == '🔻 Очно-заочная форма обучения':
await message.answer(f'К сожалению, на эту форму обучения нет бюджетных мест')
# кцп > очная форма обучения
elif txt == '🔸 Бакалавриат и специалитет':
photo = open('photo/1_2/1.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIHM2DSC17M47WfETz3XZuIhvhWJDz5AALSsTEbrG6QSimB7V_RxkF5XiBZpC4AAwEAAwIAA3MAA1ikAgABHwQ')
elif txt == '🔹 Магистратура':
photo = open('photo/1_2/2.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBvWDRBGi7ZilDcUtIkKrwwkQ7RbMdAAIjtDEbrG6IShCWRM5HY3UOMYL2qS4AAwEAAwIAA3MAA5msAAIfBA')
# доу
elif txt == '🔺 Очная форма обучения':
await message.answer(MESSAGES['m1_2_1_1'], reply_markup=kb.menu_1_2_2_1)
elif txt == '🔺 Заочная форма обучения':
await message.answer(MESSAGES['m1_2_1_1b'], reply_markup=kb.menu_1_2_2_2)
elif txt == '🔺 Очно-заочная форма обучения':
photo = open('photo/1_2/7.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBwmDRBMlvHeUwkz-8dHRn1v3PQGhcAAIptDEbrG6ISjKcV6w6g_pqxzMipC4AAwEAAwIAA3MAAyCzAgABHwQ')
# доу > очная форма
elif txt == '🔶 Бакалавриат и специалитет':
photo = open('photo/1_2/3.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBvmDRBHvwQXhOP2bhnuY7XY-slKPPAAIktDEbrG6ISh4TiNuIXFg8IV-zqS4AAwEAAwIAA3MAA2gdAAIfBA')
elif txt == '🔷 Магистратура':
photo = open('photo/1_2/4.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBv2DRBI7GRCimNgcb5_ZhhnyXVLMhAAImtDEbrG6ISntHUQlkwaYoZFALpC4AAwEAAwIAA3MAA4umAgABHwQ')
# доу > заочная форма
elif txt == '🔷 Бакалавриат':
photo = open('photo/1_2/5.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBwGDRBJ8CB2YfNpTKIWHZYGp2ruGPAAIntDEbrG6ISpXTtGn1B2iRizEPoi4AAwEAAwIAA3MAAzHLAwABHwQ')
elif txt == '🔶 Магистратура':
photo = open('photo/1_2/6.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBwWDRBK5SxGL1-3KMF0njV3ZhvTg-AAIotDEbrG6ISrewzRD43HqOWEOmoi4AAwEAAwIAA3MAAyj-AwABHwQ')
# 3) баллы
elif txt == '🌝 Проходные баллы':
photo = open('photo/1_3/1.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo, MESSAGES['proh_bal'])
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAICE2DRBXd9tY94YyLrg1wjW4hESDoDAAIqtDEbrG6ISusyUfEzskluTEAlpC4AAwEAAwIAA3MAA7CNAgABHwQ', MESSAGES['proh_bal'])
elif txt == '🌚 Минимальные баллы':
photo = open('photo/1_3/2.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo, MESSAGES['min_bal'])
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAICFGDRBYdgu436I5v5Zxq_e72AdU5yAAIrtDEbrG6ISiCQLo0DDFPx5rCoqS4AAwEAAwIAA3MABKoAAh8E', MESSAGES['min_bal'])
# 4) основные даты
elif txt == '🟠 Очная форма обучения':
await message.answer(f'Бакалавриат/специалитет или магистратура?', reply_markup=kb.menu_1_4_1)
elif txt == '🟡 Заочная и очно-заочная\nформа обучения':
photo = open('photo/1_4/z.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIOk2DcLNjRBPxuNIxk3gOQ_bM0fouEAAI2tDEbW1ThSj-9HsrUVdQWAQADAgADcwADIAQ')
# очная
elif txt == '🟢 Бакалавриат и специалитет':
photo = open('photo/1_4/1.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIOkWDcLLGxzIR2uNGO37eCCdRZCHFbAAI0tDEbW1ThSlTwH1NA3vopAQADAgADcwADIAQ')
elif txt == '🟣 Магистратура':
photo = open('photo/1_4/2.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIOkmDcLMaEeNP-Kv1mnZTiSzviK7tAAAI1tDEbW1ThSuR_eQ73h4k-AQADAgADcwADIAQ')
# 5) стоимость обучения
elif txt == '💵 Бакалавриат':
await message.answer('Нет данных')
# photo = open('photo/1_5/2.jpg', 'rb')#????????
# await bot.send_photo(message.from_user.id, photo)
# await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIF62DSB8slN1WKhyiEx5bcZ-7GqB3mAAKVtDEbP96RSvMfCnfIDkc_SaaDny4AAwEAAwIAA3MAA0J_BQABHwQ')
elif txt == '💶 Специалитет':
photo = open('photo/1_5/stoimost_spetsy.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIGBmDSCAyPU-uM62hske9bmXKzrSFNAAKWtDEbP96RSrOpdbZR2hTNog0ZpC4AAwEAAwIAA3MAAyydAgABHwQ')
elif txt == '💴 Магистратура':
photo = open('photo/1_5/stoimost_magi.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIGB2DSCBVl4bS3bzAqE--B1hPrOOVYAAKXtDEbP96RStumR9JjkNa24WsAAZ8uAAMBAAMCAANzAAN1wgUAAR8E')
# главное меню > контакты
elif txt == 'Приемная комиссия':
await message.answer(MESSAGES['contact1'])
elif txt == 'Целевое обучение':
await message.answer(MESSAGES['contact2'])
elif txt == 'ВУЦ':
await message.answer(MESSAGES['contact3'])
elif txt == 'Заочное обучение':
await message.answer(MESSAGES['contact4'])
elif txt == 'Отдел общежитий':
await message.answer(MESSAGES['contact5'])
elif txt == 'Аспирантура':
await message.answer(MESSAGES['contact6'])
elif txt == 'Особая квота':
await message.answer(MESSAGES['contact7'])
elif txt == 'Перевод из другого университета':
await message.answer(MESSAGES['contact8'])
elif txt == 'Забрать аттестат':
await message.answer(MESSAGES['contact9'])
# 6) списки
elif txt == '💡 Конкурсные списки':
await message.answer(MESSAGES['spiski_1'], reply_markup=kb.inline_1_6_1)
elif txt == '📋 Списки подавших документы':
await message.answer(MESSAGES['spiski_2'], reply_markup=kb.inline_1_6_2)
elif txt == '🔥 Траектория':
await message.answer(MESSAGES['spiski_3'], reply_markup=kb.inline_1_6_3)
elif txt == '📊 Статистика приема':
await message.answer(MESSAGES['spiski_4'], reply_markup=kb.inline_1_6_4)
# помощник в выборе
elif txt == '⤵️ Назад':
await message.answer(f'🌍 Вы являетесь гражданином РФ или иностранным гражданином?', reply_markup=kb.menu_1_7)
elif txt == '🇷🇺 Я гражданин РФ':
checkuser.update_russia(message.from_user.id, 0)
await message.answer(f'Вас интересует бакалавриат/специалитет или магистратура?', reply_markup=kb.menu_1_7_1)
elif txt == '🌐 Я иностранный гражданин':
checkuser.update_russia(message.from_user.id, 1)
await message.answer(f'Вас интересует бакалавриат или магистратура?', reply_markup=kb.menu_1_7_2)
# помощник > гражданин рф
elif txt == '⬅️ Назад':
await message.answer(f'Вас интересует бакалавриат/специалитет или магистратура?', reply_markup=kb.menu_1_7_1)
elif txt == '👩🏼‍💼 Поступление на бакалавриат/специалитет':
await message.answer(f'Уточните, какую именно информацию Вы желаете получить?', reply_markup=kb.menu_1_7_1_1)
elif txt == '👨🏻‍🎓 Поступление в магистратуру':
await message.answer(f'Уточните, какую именно информацию Вы желаете получить?', reply_markup=kb.menu_1_7_1_2)
# гражданин рф > поступление на бакалавриат
elif txt == '📄 Перечень документов для поступления':
photo = open('photo/pomoshnik/dokumenty_BS.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIIwGDSDtLT2UPJ3AtpL2aE_Krw2jreAAJWszEbMW6RSl0haBUsmVxZzjUFpC4AAwEAAwIAA3MAA-qjAgABHwQ')
elif txt == '🏅 Индивидуальные достижения':
photo = open('photo/pomoshnik/ID_BS.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIJDGDSD2El8-LAM6L8hVysfzBrR-LXAAJYszEbMW6RSlBktvm_VyRyIi2KqS4AAwEAAwIAA3MAA_MjAAIfBA')
elif txt == '❗️ Выберите предметы ЕГЭ/ВИ.\nПолучите направления подготовки':
if (checkuser.check_russia(message.from_user.id) == 0):
answer_message = pr_edit.check_predm(message.from_user.id)
await message.answer(f'Если Вы желаете удалить из списка выбранный Вами предмет, то просто нажмите на него снова.', reply_markup=kb.helper1)
await message.answer(answer_message, reply_markup=kb.inline_next)
elif (checkuser.check_russia(message.from_user.id) == 1):
answer_message = pr_edit.check_predm(message.from_user.id)
await message.answer(f'Если Вы желаете удалить из списка выбранный Вами предмет, то просто нажмите на него снова.', reply_markup=kb.helper1)
await message.answer(answer_message, reply_markup=kb.inline_next)
else:
await message.answer(f'Ошибка помощника')
elif txt == '📆 Расписание вступительных испытаний (ВИ)\n(если ты после колледжа, техникума)':
photo = open('photo/pomoshnik/pp/1.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAICUWDRBhU-45aVPJ29ikuRWVWlw7GxAAIstDEbrG6ISqLRu6xJZlJpk4qQoS4AAwEAAwIAA3MAA6jZAwABHwQ')
# гражданин рф > поступление в магистратуру
elif txt == '📑 Перечень документов для поступления':
photo = open('photo/pomoshnik/dokumenty_BS.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIJp2DSEDcCgzE5WWWuWcd-43skHSC9AAJWszEbMW6RSl0haBUsmVxZzjUFpC4AAwEAAwIAA3MAA-qjAgABHwQ')
elif txt == '🏆 Индивидуальные достижения':
photo = open('photo/pomoshnik/ID_Mag_bally.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
photo = open('photo/pomoshnik/ID_Mag_kategorii.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIJRGDSD6ugeSwIwxLuMyXGQjywMobpAAJZszEbMW6RSqXnyEXfpa6VIgoZpC4AAwEAAwIAA3MAAyuWAgABHwQ')
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIJe2DSD9HZEIUH3LdWPJeho6-wgzYLAAJaszEbMW6RSkIAAfseI6z5zd7V5p8uAAMBAAMCAANzAAONqgIAAR8E')
# await bot.send_photo(message.from_user.id, '')
elif txt == '📅 Расписание междисциплинарного экзамена (МДЭ)':
photo = open('photo/pomoshnik/pp/2.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAICUmDRBi1eUXiVWZkHJkNZVoY2grQjAAIttDEbrG6IShOOhQO4nL7kq_MBny4AAwEAAwIAA3MAA47iBQABHwQ')
# помощник > иностранный гражданин
elif txt == '💼 Поступление на бакалавриат':
await message.answer(f'Уточните, какую именно информацию Вы желаете получить?', reply_markup=kb.menu_1_7_2_1)
elif txt == '🎓 Поступление в магистратуру':
await message.answer(f'Уточните, какую именно информацию Вы желаете получить?', reply_markup=kb.menu_1_7_2_2)
# иностранец > бакалавриат
elif txt == '🗒 Документы \nдля поступления':
photo = open('photo/pomoshnik/dokumenty_inostrantsy.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIJ5GDSEG_fDisgfte0KpIcAdUE2ojNAAJcszEbMW6RStsYAlu1O4_YUKmdqC4AAwEAAwIAA3MAAyMoAAIfBA')
elif txt == '🕐 Расписание вступительных испытаний (ВИ)':
photo = open('photo/pomoshnik/pp/1.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAICUWDRBhU-45aVPJ29ikuRWVWlw7GxAAIstDEbrG6ISqLRu6xJZlJpk4qQoS4AAwEAAwIAA3MAA6jZAwABHwQ')
elif txt == '🔓 Направления подготовки, по которым осуществляется прием иностранных граждан':
await message.answer(MESSAGES['inst_full_b'])
# иностранец > магистратура
elif txt == '🗒 Документы для поступления':
photo = open('photo/pomoshnik/dokumenty_inostrantsy.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIJ5GDSEG_fDisgfte0KpIcAdUE2ojNAAJcszEbMW6RStsYAlu1O4_YUKmdqC4AAwEAAwIAA3MAAyMoAAIfBA')
elif txt == '🔓 Открытые для поступления иностранных граждан направления для подготовки':
await message.answer(MESSAGES['inst_full_m'])
elif txt == '🕐 Расписание междисциплинарного экзамена (МДЭ)':
photo = open('photo/pomoshnik/pp/2.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAICUmDRBi1eUXiVWZkHJkNZVoY2grQjAAIttDEbrG6IShOOhQO4nL7kq_MBny4AAwEAAwIAA3MAA47iBQABHwQ')
# помощник > клавиатура
elif txt == '❌ удалить все':
pr_edit.update_all(message.from_user.id)
await message.answer(f'Выберите предметы снова')
elif txt == 'математика':
pr_edit.update_math(message.from_user.id)
answer_message = pr_edit.check_predm(message.from_user.id)
await message.answer(answer_message, reply_markup=kb.inline_next)
elif txt == 'русский язык':
pr_edit.update_rus(message.from_user.id)
answer_message = pr_edit.check_predm(message.from_user.id)
await message.answer(answer_message, reply_markup=kb.inline_next)
elif txt == 'физика':
pr_edit.update_fiz(message.from_user.id)
answer_message = pr_edit.check_predm(message.from_user.id)
await message.answer(answer_message, reply_markup=kb.inline_next)
elif txt == 'информатика и ИКТ':
pr_edit.update_inf(message.from_user.id)
answer_message = pr_edit.check_predm(message.from_user.id)
await message.answer(answer_message, reply_markup=kb.inline_next)
elif txt == 'иностранный язык':
pr_edit.update_inostr(message.from_user.id)
answer_message = pr_edit.check_predm(message.from_user.id)
await message.answer(answer_message, reply_markup=kb.inline_next)
elif txt == 'обществознание':
pr_edit.update_obsh(message.from_user.id)
answer_message = pr_edit.check_predm(message.from_user.id)
await message.answer(answer_message, reply_markup=kb.inline_next)
elif txt == 'биология':
pr_edit.update_biol(message.from_user.id)
answer_message = pr_edit.check_predm(message.from_user.id)
await message.answer(answer_message, reply_markup=kb.inline_next)
# школьникам
elif txt == '👀 3D тур':
photo = open('photo/dop/360.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo, MESSAGES['shk1'], reply_markup=kb.inline_s1)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBNWDRAdhnUTCES2ZRhNoVRG89roJgAAIgtDEbrG6ISk5uv-hSJ7i9CFzQqS4AAwEAAwIAA3MAA9isAAIfBA', MESSAGES['shk1'], reply_markup=kb.inline_s1)
elif txt == '🧠 Подготовительные курсы':
await message.answer(MESSAGES['shk2'], reply_markup=kb.inline_s2)
elif txt == '🚪 Дни открытых дверей':
await message.answer(MESSAGES['shk3'], reply_markup=kb.inline_s3)
# подробнее
# бакалавриат
elif txt == '/09_03_01':
photo = open('photo/predmeti/090301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPcYND8m85HtmqLnNn_IrvzzzXYOi0AAqmwMRso_4lK4mmpU2hTqqjdA4-hLgADAQADAgADcwADEuoDAAEfBA')
elif txt == '/09_03_02':
photo = open('photo/predmeti/090302.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPeYND8wxjLIDl7iGmxA8x5WueeK8oAAquwMRso_4lKhX2WypenmZNFrQ2iLgADAQADAgADcwADtdgDAAEfBA')
elif txt == '/09_03_04':
photo = open('photo/predmeti/090304.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPfYND8zTk79iL4Zr8lHWRCyAVpxFUAAqywMRso_4lKUFixuyiBbkYL1s6pLgADAQADAgADcwADYqUAAh8E')
elif txt == '/11_03_01':
photo = open('photo/predmeti/110301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPiYND89AiDQhJ7x_3ZdrOmnebmFhsAAq-wMRso_4lKn-qlZdWyR0TCkhqkLgADAQADAgADcwADNsACAAEfBA')
elif txt == '/12_03_03':
photo = open('photo/predmeti/120303.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPnYND9eC2bSTUAAWLgtPc4G_LDKaFuAAK0sDEbKP-JSoeuek1zR8EXy1OTqS4AAwEAAwIAA3MAA6gcAAIfBA')
elif txt == '/20_03_01':
photo = open('photo/predmeti/200301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP3YND-haFVIMoWAAFUiA3d2qeFTRjhAALGsDEbKP-JSnNoCk9N9EOyAWKWqS4AAwEAAwIAA3MAAw0dAAIfBA')
elif txt == '/12_03_01':
photo = open('photo/predmeti/120301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPlYND9YzfRd3pTUqgYXUD_ZIbN9KwAArKwMRso_4lKfokVIOn0BIr8DZqiLgADAQADAgADcwADMa4DAAEfBA')
elif txt == '/12_03_02':
photo = open('photo/predmeti/120302.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPmYND9byxm-jJa4fbO6c5Fls2OZy0AArOwMRso_4lKeT-h9oXS6zSKOKqpLgADAQADAgADcwAD3aUAAh8E')
elif txt == '/12_03_05':
photo = open('photo/predmeti/120305.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPoYND9lw4rFNn08Fcj9ZEmHhJe8xQAArWwMRso_4lKjd1pEXMciFCgOY2pLgADAQADAgADcwADwh4AAh8E')
elif txt == '/13_03_01':
photo = open('photo/predmeti/130301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPrYND9xAUMAAHy2hKju4Y_zyMEX6sFAAK4sDEbKP-JSnxgWxAAAWiP8eTaL5suAAMBAAMCAANzAAOFjQYAAR8E')
elif txt == '/13_03_03':
photo = open('photo/predmeti/130303.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPsYND9z-SU-LDAsx6Mwhw8K7lCS-AAArmwMRso_4lK66sTk47C6pNgOKqpLgADAQADAgADcwADRKQAAh8E')
elif txt == '/15_03_01':
photo = open('photo/predmeti/150301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPtYND92O0AAcKsNDiEb_DAyOnWQxi2AAK6sDEbKP-JSi6dZIo_kSw8m6GBoi4AAwEAAwIAA3MAA4rSAwABHwQ')
elif txt == '/15_03_02':
photo = open('photo/predmeti/150302.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPuYND94RyxstEJq8kIvB1o8PkT7vkAAruwMRso_4lKBnDBxmcwfpZqXEyeLgADAQADAgADcwADPWAGAAEfBA')
elif txt == '/15_03_03':
photo = open('photo/predmeti/150303.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPvYND-KSbPPB_ogl5qPNJ0yZxQMjgAAr2wMRso_4lK-16XBFHR8zu-9y6qLgADAQADAgADcwADk7AAAh8E')
elif txt == '/15_03_05':
photo = open('photo/predmeti/150305.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPwYND-Mt9vg1N0s3LGbhoP7VXAmaYAAr6wMRso_4lKbcgsAAEQEjJ9hUOtqS4AAwEAAwIAA3MAA7GlAAIfBA')
elif txt == '/15_03_06':
photo = open('photo/predmeti/150306.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPxYND-PBltAkYfLBS_z-UQesweLlAAAr-wMRso_4lKoihHzz97PHLBtxCiLgADAQADAgADcwAD3_UDAAEfBA')
elif txt == '/24_03_01':
photo = open('photo/predmeti/240301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP5YND-oMXbbOQlTbcnfN-o42UYErIAAsiwMRso_4lKGt2u1r6SU-1qaRGkLgADAQADAgADcwADgrMCAAEfBA')
elif txt == '/24_03_03':
photo = open('photo/predmeti/240303.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP6YND-rx2gMbdDfnNvJvEK9Lx-HywAAsmwMRso_4lKJN_OvW7wl051p4ipLgADAQADAgADcwAD4CEAAh8E')
elif txt == '/24_03_05':
photo = open('photo/predmeti/240305.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP7YND-uqIxmFAZ5-Rj1NqsUtB5bGkAAsqwMRso_4lK6rhPbkPLwf6oYLOpLgADAQADAgADcwADpBwAAh8E')
elif txt == '/27_03_01':
photo = open('photo/predmeti/270301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBBGDQ_0rs8OvEHQUw-kGb6xHRTDPHAALTsDEbKP-JSnCm7gtF8XGlVsuKoi4AAwEAAwIAA3MAA_7iAwABHwQ')
elif txt == '/27_03_04':
photo = open('photo/predmeti/270304.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBBWDQ_1gL9upy30mPJKAmNDIl5c3TAALUsDEbKP-JSlMX5PVdRID_KVo3ny4AAwEAAwIAA3MAA0RcBQABHwQ')
elif txt == '/38_03_01':
photo = open('photo/predmeti/380301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBCmDRAAGyVocaREENkteOM6Pu7u_bRwAC2rAxGyj_iUruW5OYacdtzMUQf58uAAMBAAMCAANzAAOe0AUAAR8E')
elif txt == '/38_03_02':
photo = open('photo/predmeti/380302.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBC2DRAAG-LtVQm40Tx_mVKeKo7FgM7QAC27AxGyj_iUqvhsBqz3UzF8YkH6QuAAMBAAMCAANzAAMjoAIAAR8E')
elif txt == '/38_03_03':
photo = open('photo/predmeti/380303.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBDGDRAAHLcvi46zmOKJVIvgJqqSR0tgAC3LAxGyj_iUpCHwXSp78TWMXV66kuAAMBAAMCAANzAAM8qQACHwQ')
elif txt == '/42_03_01':
photo = open('photo/predmeti/420301.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBEWDRAAH_livqfiwK-AkElffoamxMgAAC4bAxGyj_iUr31cuNoQOr83yxhKIuAAMBAAMCAANzAANT1gMAAR8E')
elif txt == '/45_03_03':
photo = open('photo/predmeti/450303.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBEmDRAQvNQonz9x8YAwrYXTkhsTrUAALisDEbKP-JSos0P7JKomeSeeIspC4AAwEAAwIAA3MABIoCAAEfBA')
# специалитет
elif txt == '/11_05_01':
photo = open('photo/predmeti/110501.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPkYND9DDcMuj9OMy3yu1dxf-MTv60AArGwMRso_4lKVK0n2vih3Z_4sISiLgADAQADAgADcwADstoDAAEfBA')
elif txt == '/17_05_01':
photo = open('photo/predmeti/170501.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP1YND-aSdz7C4O8A400T9z-Z4NwIQAAsOwMRso_4lKoTi7ZfAfHGUJuwakLgADAQADAgADcwADXqcCAAEfBA')
elif txt == '/17_05_02':
photo = open('photo/predmeti/170502.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP2YND-exIGCRvi1aEdc5Yk5Ubc21kAAsWwMRso_4lK2oxb_nk57CF0lJuiLgADAQADAgADcwADWKUDAAEfBA')
elif txt == '/24_05_01':
photo = open('photo/predmeti/240501.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP_YND-6O64UAVkVhkRY9kKp0QDB-8AAs6wMRso_4lKSpqJn_YEHziLuyOkLgADAQADAgADcwADWMkCAAEfBA')
elif txt == '/24_05_02':
photo = open('photo/predmeti/240502.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBAAFg0P7zWrPMH2-75y99VJMNQTLF8gACz7AxGyj_iUrm28bcNrArmfZQqaIuAAMBAAMCAANzAAMOzQMAAR8E')
elif txt == '/24_05_04':
photo = open('photo/predmeti/240504.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBAWDQ_wABoXV52E0MPPXNcwKnJfJnrAAC0LAxGyj_iUqAMK4Lka6wWQ5CpqIuAAMBAAMCAANzAAMD_wMAAR8E')
elif txt == '/27_05_01':
photo = open('photo/predmeti/270504.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBCGDRAAGcKyBxSqu53EAM4C0YlH7MKgAC2LAxGyj_iUovB1avJBykgfW_q6kuAAMBAAMCAANzAAOQHwACHwQ')
elif txt == '/24_05_05':
photo = open('photo/predmeti/240505.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBAmDQ_wqakn2vaBKU0v9U5XINsYOyAALRsDEbKP-JSrRB8K2dJ4KyAAGgAAGkLgADAQADAgADcwADQ48CAAEfBA')
elif txt == '/24_05_06':
photo = open('photo/predmeti/240506.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBA2DQ_0HfuqvyPYLZnjn1zH87zmYLAALSsDEbKP-JSkOG1NX_kTOnYwaPoS4AAwEAAwIAA3MAA_nwAwABHwQ')
elif txt == '/37_05_02':
photo = open('photo/predmeti/370502.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBCWDRAAGnG2Ooz9axjqGxjVwG0NEeGQAC2bAxGyj_iUqlE8rVD7tabZ-ZgJ8uAAMBAAMCAANzAAOA0QUAAR8E')
elif txt == '/45_05_01':
photo = open('photo/predmeti/450501.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBE2DRARZE46RntU6J5kzmerf_ddDaAALjsDEbKP-JSquL5eHcFWEWKBRWpC4AAwEAAwIAA3MAA1uiAgABHwQ')
# магистратура
elif txt == '/09_04_01':
photo = open('photo/predmeti/090401.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPgYND81_UnP2vx_RjRMpG5uNuXg0EAAq2wMRso_4lKVxz6XRJhtnUq9JOiLgADAQADAgADcwADKq0DAAEfBA')
elif txt == '/09_04_04':
photo = open('photo/predmeti/090404.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPhYND86a60NIjvIEGnQJCtCmfeN0QAAq6wMRso_4lKD2gyWG43aQGeMw-iLgADAQADAgADcwADps4DAAEfBA')
elif txt == '/11_04_01':
photo = open('photo/predmeti/110401.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPjYND9AAGu1alxRZcER06vZknz7iTlAAKwsDEbKP-JSjh4r6isWcw3LONNni4AAwEAAwIAA3MAA2hpBgABHwQ')
elif txt == '/12_04_01':
photo = open('photo/predmeti/120401.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPpYND9oC1leaDhzzNR-SWzNp_k2DQAArawMRso_4lKKQABjNjZaRRHpptXpC4AAwEAAwIAA3MAA8i4AgABHwQ')
elif txt == '/12_04_05':
photo = open('photo/predmeti/120405.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPqYND9uDdAQ5lFBzrCnZ2JLuEPflYAArewMRso_4lKr59cWoGlu166WzefLgADAQADAgADcwAD01gFAAEfBA')
elif txt == '/15_04_03':
photo = open('photo/predmeti/150403.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPyYND-RCjKGYGO-nel-Zac9B6G5WIAAsCwMRso_4lKzXvryIOKy5SeE5KhLgADAQADAgADcwAD7OMDAAEfBA')
elif txt == '/15_04_05':
photo = open('photo/predmeti/150405.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAPzYND-U2TZDM4UuNzMONur4SgeDPYAAsGwMRso_4lKgQX334AbVZwnvoeiLgADAQADAgADcwADpcwDAAEfBA')
elif txt == '/15_04_06':
photo = open('photo/predmeti/150406.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP0YND-XhaE9ozueqQBKIs6DhPH9IwAAsKwMRso_4lKTjFM--lkF7kwJQyiLgADAQADAgADcwADfOYDAAEfBA')
elif txt == '/20_04_01':
photo = open('photo/predmeti/200401.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP4YND-ksJfZ-EyFSEM4Db5l98NqxwAAsewMRso_4lKucDQpEuTUQJpM6OiLgADAQADAgADcwADmOoDAAEfBA')
elif txt == '/24_04_01':
photo = open('photo/predmeti/240401.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP8YND-xNrgewt5RFxyXY6V5nwFh8QAAsuwMRso_4lKn_VXJkU24zJJkQeiLgADAQADAgADcwADe84DAAEfBA')
elif txt == '/24_04_03':
photo = open('photo/predmeti/240403.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP9YND-1OkpgD5eQQwneBq3Ud5205MAAsywMRso_4lKPeLDrL7v7SudkxqkLgADAQADAgADcwADu7QCAAEfBA')
elif txt == '/24_04_05':
photo = open('photo/predmeti/240405.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAP-YND-3qSOLWsWMquc8Kw6sZaAPYAAAs2wMRso_4lK8jGGqq0sLoTTcDSbLgADAQADAgADcwAD6aIGAAEfBA')
elif txt == '/27_04_01':
photo = open('photo/predmeti/270401.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBBmDQ_2PD-Yf03S0STaqGa7r7D9iXAALVsDEbKP-JSpf2uE1X-TRon3XPoi4AAwEAAwIAA3MAA8ilAwABHwQ')
elif txt == '/27_04_04':
photo = open('photo/predmeti/270404.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIGpmDSCXsmDylQZQ6rGLqE1xC71yAcAAKYtDEbP96RShBV16TZNcl85WWJni4AAwEAAwIAA3MAA9pnBgABHwQ')
elif txt == '/38_04_02':
photo = open('photo/predmeti/380402.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBDWDRAAHX-XQ7QR2mQeakukBiv9P2ZAAC3bAxGyj_iUqp6DO1wAT6p9lfs6kuAAMBAAMCAANzAAO9HAACHwQ')
elif txt == '/38_04_03':
photo = open('photo/predmeti/380403.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBDmDRAAHhyC3mxEu_i4K6JYrO15vLwwAC3rAxGyj_iUqZD7CIlPns4TBhlqkuAAMBAAMCAANzAAPTHAACHwQ')
elif txt == '/38_04_04':
photo = open('photo/predmeti/380404.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBD2DRAAHrKNaUdoS-VTuEOU7QhqrPvgAC37AxGyj_iUr9Ok-NxcJjL9qWgJ8uAAMBAAMCAANzAAMCyAUAAR8E')
elif txt == '/41_04_04':
photo = open('photo/predmeti/410404.jpg', 'rb')
await bot.send_photo(message.from_user.id, photo)
#await bot.send_photo(message.from_user.id, 'AgACAgIAAxkBAAIBEGDRAAH2cen3B-LX-mP5r7P50FvRYAAC4LAxGyj_iUrLH60uNHdSpztQzakuAAMBAAMCAANzAAMKsgACHwQ')
else:
await message.reply(f'Команда не найдена.\nИспользуйте - /start')
return
#----------------------------------------
# inline запросы
#----------------------------------------
@dp.callback_query_handler(text_contains='helper_')
async def nazad_callback(call: types.CallbackQuery):
if call.data and call.data.startswith("helper_"):
code = call.data[-1:]
if code.isdigit():
code = int(code)
if code == 1:
await call.message.edit_text(f'Поиск...')
answer_message = thepoisk.load_predm(call.from_user.id)
await call.message.answer(answer_message)
await call.message.edit_text(f'Для того чтобы узнать подробнее о специальности/направлении подготовки, нажмите на его шифр.')
if code == 2:
await call.answer(text='Публикация конкурсных списков и траектории осуществляется 2 августа согласно Правилам приема', show_alert=True)
#----------------------------------------
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)