Archived
Update requirements.txt, readme.md and .gitignore
now groups schedule in yaml format
This commit is contained in:
@@ -8,3 +8,6 @@ json_remake
|
||||
script.py
|
||||
nohup.out
|
||||
config.yaml
|
||||
old_files/
|
||||
yaml_groups/*
|
||||
!yaml_groups/202.yaml
|
||||
@@ -1,2 +1,81 @@
|
||||
# Telegram-bot-schedule
|
||||
Прямо сейчас бот работает здесь: https://t.me/vmk_schedule_bot
|
||||
# Telegram Bot Schedule
|
||||
This project is a Telegram bot designed to manage and display schedules. The bot can help users keep track of their daily activities, appointments, and events.
|
||||
|
||||
## Features
|
||||
|
||||
- View preloaded schedules
|
||||
- Group schedules for better organization
|
||||
- Receive reminders for upcoming events
|
||||
- User-friendly commands and interface
|
||||
|
||||
## Installation
|
||||
|
||||
1. Clone the repository:
|
||||
```sh
|
||||
git clone https://github.com/yourusername/Telegram-bot-schedule.git
|
||||
```
|
||||
2. Navigate to the project directory:
|
||||
```sh
|
||||
cd Telegram-bot-schedule
|
||||
```
|
||||
3. Install the required dependencies:
|
||||
```sh
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
1. Create a new bot on Telegram and get the API token.
|
||||
2. Set the API token in the environment variables or in a configuration file.
|
||||
3. You need to create schedules files for groups.
|
||||
4. Run the bot:
|
||||
```sh
|
||||
python bot.py
|
||||
```
|
||||
|
||||
## Commands
|
||||
|
||||
- `/start` - используй, чтобы сменить номер группы.
|
||||
- `/schedule` - используй, чтобы получить расписание на сегодня.
|
||||
- `/random` - сделай очередь из людей
|
||||
- `/info` - используй, чтобы узнать твои настройки бота
|
||||
- `/pause` - используй, чтобы прекратить получать сообщения от бота
|
||||
- `/thread` - используй в нужном чате канала, чтобы бот отправлял сообщения именно туда
|
||||
- `/timeout` - настрой время, когда бот будет присылать тебе сообщение
|
||||
- `/request` - используй, чтобы отправить разработчику какой-то запрос
|
||||
- `/source` - Страница бота на Github
|
||||
- `/restart` - перезапуск бота (admin only).
|
||||
- `/update` - обновление schedule задач (admin only)
|
||||
- `/stats` - получание статистики (admin only)
|
||||
- `/json` - получить файл пользователей и расписания (admin only)
|
||||
- `/info` <i>id_пользователя</i> - узнать настройки пользователя (admin only)
|
||||
- `/spam` - сделать рассылку (admin only)
|
||||
- `/pause_all` - приостановить бота для всех (каникулы/выходные) (admin only)
|
||||
- `/stop` <i>id_пользователя</i> - приостановить отправку сообщений для пользователя (admin only)
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please fork the repository and create a pull request with your changes.
|
||||
|
||||
## Contact
|
||||
|
||||
For any questions or suggestions, please open an issue or contact the project maintainer at [gudovdo@my.msu.ru].
|
||||
|
||||
## Target Audience
|
||||
|
||||
This bot is particularly useful for students to track their lessons and manage their academic schedules effectively.
|
||||
|
||||
## Limitations
|
||||
|
||||
- Cannot create or edit schedule entities directly
|
||||
- Only works with preloaded schedules and groups
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
import os
|
||||
import json
|
||||
import yaml
|
||||
|
||||
|
||||
def convert_json_to_yaml(json_dir, yaml_dir):
|
||||
# Iterate over all files in the directory
|
||||
for filename in os.listdir(json_dir):
|
||||
if filename.endswith(".json"):
|
||||
json_path = os.path.join(json_dir, filename)
|
||||
|
||||
# Read JSON file
|
||||
with open(json_path, "r", encoding="utf-8") as json_file:
|
||||
data = json.load(json_file)
|
||||
|
||||
# Convert to YAML
|
||||
yaml_data = yaml.dump(
|
||||
data,
|
||||
default_flow_style=None,
|
||||
encoding="utf-8",
|
||||
allow_unicode=True,
|
||||
width=float("inf"),
|
||||
sort_keys=False,
|
||||
)
|
||||
|
||||
# Write YAML file
|
||||
yaml_path = os.path.join(yaml_dir, filename.replace(".json", ".yaml"))
|
||||
with open(yaml_path, "wb") as yaml_file:
|
||||
yaml_file.write(yaml_data)
|
||||
|
||||
print("Conversion completed.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
json_dir = "json_remake"
|
||||
yaml_dir = "yaml_groups"
|
||||
|
||||
convert_json_to_yaml(json_dir, yaml_dir)
|
||||
|
||||
pass
|
||||
+11
-9
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/python3.3
|
||||
import json, schedule
|
||||
import json, yaml, schedule
|
||||
import schedules as bot
|
||||
from datetime import datetime
|
||||
|
||||
path_users = "json/users.json" # Нужный путь до json файлов
|
||||
# path_schedule = "json/schedule_3sem.json"
|
||||
path_schedule = "json/groups/{}.json"
|
||||
path_schedule = "yaml_groups/{}.yaml"
|
||||
path_students = "json/students.json"
|
||||
path_groups = "json/groups.json"
|
||||
|
||||
allow_update = True
|
||||
|
||||
@@ -129,7 +129,8 @@ def create_schedule_tasks(manual=False):
|
||||
continue
|
||||
|
||||
with open(path_schedule.format(group), "r", encoding="utf-8") as json_file:
|
||||
schdl = json.load(json_file)["schedule"]
|
||||
# schdl = json.load(json_file)["schedule"]
|
||||
schdl = yaml.safe_load(json_file)["schedule"]
|
||||
|
||||
for day in schdl:
|
||||
for lesson in schdl[day]:
|
||||
@@ -183,11 +184,11 @@ def create_schedule_tasks(manual=False):
|
||||
|
||||
|
||||
def groups_in_json() -> list[str]:
|
||||
schdl = {}
|
||||
with open(path_schedule.format("groups"), "r", encoding="utf-8") as json_file:
|
||||
schdl = json.load(json_file)
|
||||
groups = {}
|
||||
with open(path_groups, "r", encoding="utf-8") as json_file:
|
||||
groups = json.load(json_file)
|
||||
|
||||
return schdl
|
||||
return groups
|
||||
|
||||
|
||||
def students_in_group(group) -> list[str]:
|
||||
@@ -276,7 +277,8 @@ def get_schedule(id: str, day: str) -> str:
|
||||
try:
|
||||
with open(path_schedule.format(group), "r", encoding="utf-8") as schedule_file:
|
||||
try:
|
||||
schdl_today = json.load(schedule_file)["schedule"][day]
|
||||
# schdl_today = json.load(schedule_file)["schedule"][day]
|
||||
schdl_today = yaml.safe_load(schedule_file)["schedule"][day]
|
||||
except:
|
||||
return "Расписания твоей группы на {} нет".format(
|
||||
russian_days[days.index(day)]
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
{
|
||||
"studies.begin": {
|
||||
"y": 2024,
|
||||
"m": 9,
|
||||
"d": 1
|
||||
},
|
||||
"studies.end": null,
|
||||
"schedule": {
|
||||
"mon": [
|
||||
{
|
||||
"partity": 1,
|
||||
"begin": "10:30",
|
||||
"end": "12:05",
|
||||
"name": "Практикум на ЭВМ",
|
||||
"teacher.room": [
|
||||
{
|
||||
"t": "Тюляева В.В.",
|
||||
"r": "МЗ-3"
|
||||
}
|
||||
],
|
||||
"building": "2-й гуманитарный корпус",
|
||||
"note": "Какое-то примечание",
|
||||
"type": "seminar"
|
||||
},
|
||||
{
|
||||
"partity": null,
|
||||
"begin": "10:30",
|
||||
"end": "12:05",
|
||||
"name": "Практикум на ЭВМ",
|
||||
"teacher.room": [
|
||||
{
|
||||
"t": "Тюляева В.В.",
|
||||
"r": "МЗ-3"
|
||||
},
|
||||
{
|
||||
"t": "Тюляева В.В.",
|
||||
"r": "МЗ-3"
|
||||
},
|
||||
{
|
||||
"t": "Тюляева В.В.",
|
||||
"r": "МЗ-3"
|
||||
}
|
||||
],
|
||||
"building": "2-й гуманитарный корпус",
|
||||
"note": "Какое-то примечание",
|
||||
"type": "seminar"
|
||||
},
|
||||
{
|
||||
"partity": null,
|
||||
"begin": "10:30",
|
||||
"end": "12:05",
|
||||
"name": "Практикум на ЭВМ",
|
||||
"teacher.room": [],
|
||||
"building": "2-й гуманитарный корпус",
|
||||
"note": "Какое-то примечание",
|
||||
"type": "seminar"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,282 +0,0 @@
|
||||
{
|
||||
"102": {
|
||||
"mon": {
|
||||
"8:45-10:20": {
|
||||
"name": "Алгоритмы и алгоритмические языки",
|
||||
"infos": "Белеванцев Андрей Андреевич|П-6"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Английский язык",
|
||||
"infos": "Шубина Юлия Витальевна|73|Бим Мария Моисеевна|735"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Лапонин Владислав Сергеевич|606"
|
||||
},
|
||||
"15:00-16:30": {
|
||||
"name": "Физическая культура",
|
||||
"infos": ""
|
||||
},
|
||||
"16:45-18:15": {
|
||||
"name": "Консультация. Алгебра и геометрия",
|
||||
"infos": "Руднев Сергей Геннадьевич|???"
|
||||
}
|
||||
},
|
||||
"tue": {
|
||||
"10:30-12:05": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Тыртышников Евгений Евгеньевич|П-6"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Садовничая Инна Викторовна|П-6"
|
||||
},
|
||||
"14:35-16:10": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Руднев Сергей Геннадьевич|682"
|
||||
},
|
||||
"16:20-17:55": {
|
||||
"name": "Практикум на ЭВМ",
|
||||
"infos": "Цыбров Евгений Германович|371|Кулагин Алексей Владимирович|МЗ-0"
|
||||
}
|
||||
},
|
||||
"wed": {
|
||||
"8:45-10:20": {
|
||||
"name": "Алгоритмы и алгоритмические языки",
|
||||
"infos": "Белеванцев Андрей Андреевич|П-6"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Лапонин Владислав Сергеевич|606"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Английский язык",
|
||||
"infos": "Шубина Юлия Витальевна|735|Бим Мария Моисеевна|71"
|
||||
}
|
||||
},
|
||||
"thu": {
|
||||
"8:45-10:20": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Тыртышников Евгений Евгеньевич|П-6"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Садовничая Инна Викторовна|П-6"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "История России",
|
||||
"infos": "Чубыкин Игорь Валерьевич|523"
|
||||
},
|
||||
"14:35-16:10": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Руднев Сергей Геннадьевич|606"
|
||||
},
|
||||
"16:20-17:55": {
|
||||
"name": "История России",
|
||||
"infos": "Чубыкин Игорь Валерьевич|П-6"
|
||||
}
|
||||
},
|
||||
"fri": {
|
||||
"9:00-10:30": {
|
||||
"name": "Физическая культура",
|
||||
"infos": ""
|
||||
},
|
||||
"10:40-12:15": {
|
||||
"name": "Безопасность жизнедеятельности",
|
||||
"infos": "Сладкова Наталья Валерьевна|609"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Практикум на ЭВМ",
|
||||
"infos": "Цыбров Евгений Германович|371|Кулагин Алексей Владимирович|МЗ-0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"103": {
|
||||
"mon": {
|
||||
"8:45-10:20": {
|
||||
"name": "Алгоритмы и алгоритмические языки",
|
||||
"infos": "Белеванцев Андрей Андреевич|П-6"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Зайцева Наталья Владимировна|71"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Практикум на ЭВМ",
|
||||
"infos": "Кузьменкова Евгения Анатольевна|731|Малышев Никита Евгеньевич|778"
|
||||
},
|
||||
"15:00-16:30": {
|
||||
"name": "Физическая культура",
|
||||
"infos": ""
|
||||
}
|
||||
},
|
||||
"tue": {
|
||||
"8:45-10:20": {
|
||||
"name": "Консультация. Алгебра и геометрия",
|
||||
"infos": "Будак Александр Борисович|612"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Тыртышников Евгений Евгеньевич|П-6"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Садовничая Инна Викторовна|П-6"
|
||||
},
|
||||
"14:35-16:10": {
|
||||
"name": "Английский язык",
|
||||
"infos": "Плиева Сима Ивановна|783|Дзампова Татьяна Борисовна|736"
|
||||
},
|
||||
"16:20-17:55": {
|
||||
"name": "Английский язык",
|
||||
"infos": "Дзампова Татьяна Борисовна|736"
|
||||
}
|
||||
},
|
||||
"wed": {
|
||||
"8:45-10:20": {
|
||||
"name": "Алгоритмы и алгоритмические языки",
|
||||
"infos": "Белеванцев Андрей Андреевич|П-6"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Зайцева Наталья Владимировна|72"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Будак Александр Борисович|605"
|
||||
}
|
||||
},
|
||||
"thu": {
|
||||
"8:45-10:20": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Тыртышников Евгений Евгеньевич|П-6"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Садовничая Инна Викторовна|П-6"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Будак Александр Борисович|605"
|
||||
},
|
||||
"14:35-16:10": {
|
||||
"name": "Английский язык",
|
||||
"infos": "Плиева Сима Ивановна|783"
|
||||
},
|
||||
"16:20-17:55": {
|
||||
"name": "История России",
|
||||
"infos": "Чубыкин Игорь Валерьевич|П-6"
|
||||
}
|
||||
},
|
||||
"fri": {
|
||||
"9:00-10:30": {
|
||||
"name": "Физическая культура",
|
||||
"infos": ""
|
||||
},
|
||||
"10:40-12:15": {
|
||||
"name": "Безопасность жизнедеятельности",
|
||||
"infos": "Гимишли Николай Федосеевич|614"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Практикум на ЭВМ",
|
||||
"infos": "Кузьменкова Евгения Анатольевна|248|Малышев Никита Евгеньевич|780"
|
||||
},
|
||||
"14:35-16:10": {
|
||||
"name": "История России",
|
||||
"infos": "Чубыкин Игорь Валерьевич|523"
|
||||
}
|
||||
}
|
||||
},
|
||||
"105": {
|
||||
"mon": {
|
||||
"8:45-10:20": {
|
||||
"name": "Алгоритмы и алгоритмические языки",
|
||||
"infos": "Белеванцев Андрей Андреевич|П-6"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Никитин Алексей Антонович|72"
|
||||
},
|
||||
"12:15-13:40": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Лебедева Ольга Сергеевна|508|Замарашкин Николай Леонидович|508"
|
||||
},
|
||||
"15:00-16:30": {
|
||||
"name": "Физическая культура",
|
||||
"infos": ""
|
||||
}
|
||||
},
|
||||
"tue": {
|
||||
"10:30-12:05": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Тыртышников Евгений Евгеньевич|П-6"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Садовничая Инна Викторовна|П-6"
|
||||
},
|
||||
"14:35-16:10": {
|
||||
"name": "Английский язык",
|
||||
"infos": "Лаптинова Анастасия Ильинична|73|Кашелкина Ольга Александровна|790"
|
||||
},
|
||||
"16:20-17:55": {
|
||||
"name": "Практикум на ЭВМ",
|
||||
"infos": "Русол Андрей Владимирович|МЗ-4|Гуляев Анатолий Викторович|574"
|
||||
}
|
||||
},
|
||||
"wed": {
|
||||
"8:45-10:20": {
|
||||
"name": "Алгоритмы и алгоритмические языки",
|
||||
"infos": "Белеванцев Андрей Андреевич|П-6"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Никитин Алексей Антонович|778"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Лебедева Ольга Сергеевна|506|Замарашкин Николай Леонидович|506"
|
||||
}
|
||||
},
|
||||
"thu": {
|
||||
"8:45-10:20": {
|
||||
"name": "Алгебра и геометрия",
|
||||
"infos": "Тыртышников Евгений Евгеньевич|П-6"
|
||||
},
|
||||
"10:30-12:05": {
|
||||
"name": "Математический анализ",
|
||||
"infos": "Садовничая Инна Викторовна|П-6"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "История России",
|
||||
"infos": "Чубыкин Игорь Валерьевич|523"
|
||||
},
|
||||
"14:35-16:10": {
|
||||
"name": "Английский язык",
|
||||
"infos": "Лаптинова Анастасия Ильинична|71|Кашелкина Ольга Александровна|736"
|
||||
},
|
||||
"16:20-17:55": {
|
||||
"name": "История России",
|
||||
"infos": "Чубыкин Игорь Валерьевич|П-6"
|
||||
}
|
||||
},
|
||||
"fri": {
|
||||
"9:00-10:30": {
|
||||
"name": "Физическая культура",
|
||||
"infos": ""
|
||||
},
|
||||
"10:40-12:15": {
|
||||
"name": "Консультация. Математический анализ",
|
||||
"infos": "Никитин Алексей Антонович|72"
|
||||
},
|
||||
"12:50-14:25": {
|
||||
"name": "Практикум на ЭВМ",
|
||||
"infos": "Русол Андрей Владимирович|МЗ-4|Гуляев Анатолий Викторович|574"
|
||||
},
|
||||
"14:35-16:10": {
|
||||
"name": "Безопасность жизнедеятельности",
|
||||
"infos": "Гимишли Николай Федосеевич|614"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
python-telegram-bot==13.7
|
||||
requests==2.26.0
|
||||
python-dotenv==0.19.0
|
||||
schedule==1.1.0
|
||||
+12
-4
@@ -398,7 +398,15 @@ def send_schedule(message):
|
||||
day = datetime.today().strftime("%A").lower()[:3] # mon tue ...
|
||||
text = for_json.get_schedule(message.chat.id, day)
|
||||
except Exception as e:
|
||||
send_admin_message("Schedule error from: {} \n\n {}".format(message.chat.id, e))
|
||||
# send_admin_message(
|
||||
# "Schedule error from: {} \n\n {}".format(message.chat.id, str(e))
|
||||
# )
|
||||
bot.send_message(
|
||||
message.chat.id,
|
||||
"Пожалуйста, проверь, что ты зарегестрировался с помощью команды /start",
|
||||
ParseMode.HTML,
|
||||
message_thread_id=message.message_thread_id,
|
||||
)
|
||||
|
||||
markup = types.InlineKeyboardMarkup()
|
||||
markup.add(
|
||||
@@ -586,7 +594,7 @@ def change_thread(message):
|
||||
def set_timeout(message):
|
||||
send_message(
|
||||
message.chat.id,
|
||||
"Пришли мне число от 1 до 60. \
|
||||
"Пришли мне число от 1 до 59. \
|
||||
\nЭто будет количество минут, за которое я буду присылать тебе напоминание о паре (По умолчанию: 10)",
|
||||
)
|
||||
bot.register_next_step_handler(message, save_timeout)
|
||||
@@ -597,7 +605,7 @@ def set_timeout(message):
|
||||
def save_timeout(message):
|
||||
if (
|
||||
str(message.text).isdigit()
|
||||
and int(message.text) <= 60
|
||||
and int(message.text) <= 59
|
||||
and int(message.text) >= 1
|
||||
):
|
||||
for_json.change_user_param(message.chat.id, "timeout", str(message.text))
|
||||
@@ -610,7 +618,7 @@ def save_timeout(message):
|
||||
else:
|
||||
send_message(
|
||||
message.chat.id,
|
||||
"Пожалуйста, пришли <u>число</u> от 1 до 60. \
|
||||
"Пожалуйста, пришли <u>число</u> от 1 до 59. \
|
||||
\nПо умолчанию: 10",
|
||||
)
|
||||
send_message(message.chat.id, "Изменения не были внесены")
|
||||
|
||||
@@ -0,0 +1,201 @@
|
||||
studies.begin: {y: 2024, m: 9, d: 1}
|
||||
studies.end: null
|
||||
schedule:
|
||||
mon:
|
||||
- begin: '8:45'
|
||||
end: '10:20'
|
||||
name: Английский язык
|
||||
teacher.room:
|
||||
- {t: Бим М.М., r: '735'}
|
||||
- {t: ' Шубина Ю.В.', r: '73'}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '10:30'
|
||||
end: '12:05'
|
||||
name: Практикум на ЭВМ
|
||||
teacher.room:
|
||||
- {t: Тюляева В.В., r: МЗ-4}
|
||||
- {t: '', r: null}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '12:15'
|
||||
end: '13:50'
|
||||
name: Классическая механика
|
||||
teacher.room:
|
||||
- {t: Брандт Н.Н., r: '659'}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '15:00'
|
||||
end: '16:30'
|
||||
name: Физическая культура
|
||||
teacher.room: []
|
||||
type: null
|
||||
parity: null
|
||||
tue:
|
||||
- begin: '8:45'
|
||||
end: '10:20'
|
||||
name: Теория вероятностей и математическая статистика
|
||||
teacher.room:
|
||||
- {t: профессор Королёв Виктор Юрьевич, r: П-13}
|
||||
type: lecture
|
||||
parity: null
|
||||
- begin: '10:30'
|
||||
end: '12:05'
|
||||
name: Математический анализ
|
||||
teacher.room:
|
||||
- {t: доцент Крицков Леонид Владимирович, r: П-11}
|
||||
type: lecture
|
||||
parity: null
|
||||
- begin: '12:15'
|
||||
end: '13:50'
|
||||
name: Математический анализ
|
||||
teacher.room:
|
||||
- {t: Сычугов Д.Ю., r: '606'}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '14:35'
|
||||
end: '16:10'
|
||||
name: Обыкновенные дифференциальные ур-я
|
||||
teacher.room:
|
||||
- {t: Дмитриева И.В., r: '607'}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '16:20'
|
||||
end: '17:55'
|
||||
name: null
|
||||
teacher.room: []
|
||||
type: seminar
|
||||
parity: null
|
||||
wed:
|
||||
- begin: '8:45'
|
||||
end: '10:20'
|
||||
name: Практикум на ЭВМ
|
||||
teacher.room:
|
||||
- {t: Тюляева В.В., r: '507'}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '10:30'
|
||||
end: '12:05'
|
||||
name: Математический анализ
|
||||
teacher.room:
|
||||
- {t: доцент Крицков Леонид Владимирович, r: П-6}
|
||||
type: lecture
|
||||
parity: null
|
||||
- begin: '12:15'
|
||||
end: '13:50'
|
||||
name: Обыкновенные дифференциальные уравнения
|
||||
teacher.room:
|
||||
- {t: профессор Денисов Александр Михайлович, r: П-6}
|
||||
type: lecture
|
||||
parity: null
|
||||
- begin: '15:10'
|
||||
end: '18:50'
|
||||
name: Межфакультетские курсы
|
||||
teacher.room: []
|
||||
type: seminar
|
||||
parity: null
|
||||
thu:
|
||||
- begin: '8:45'
|
||||
end: '10:20'
|
||||
name: Операционные системы
|
||||
teacher.room:
|
||||
- {t: профессор Машечкин Игорь Валерьевич, r: П-13}
|
||||
type: lecture
|
||||
parity: null
|
||||
- begin: '10:30'
|
||||
end: '12:05'
|
||||
name: Операционные системы
|
||||
teacher.room:
|
||||
- {t: профессор Машечкин Игорь Валерьевич, r: П-13}
|
||||
type: lecture
|
||||
parity: null
|
||||
- begin: '12:15'
|
||||
end: '13:50'
|
||||
name: Английский язык
|
||||
teacher.room:
|
||||
- {t: Бим М.М., r: '71'}
|
||||
- {t: '', r: null}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '14:35'
|
||||
end: '16:10'
|
||||
name: Введение в численные методы
|
||||
teacher.room:
|
||||
- {t: доцент Нефёдов Владимир Вадимович, r: П-5}
|
||||
type: lecture
|
||||
parity: null
|
||||
- begin: '16:20'
|
||||
end: '17:55'
|
||||
name: null
|
||||
teacher.room: []
|
||||
type: seminar
|
||||
parity: null
|
||||
fri:
|
||||
- begin: '8:45'
|
||||
end: '10:20'
|
||||
name: Английский язык
|
||||
teacher.room:
|
||||
- {t: Шубина Ю.В., r: '506'}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '10:50'
|
||||
end: '12:20'
|
||||
name: Физическая культура
|
||||
teacher.room: []
|
||||
type: null
|
||||
parity: null
|
||||
- begin: '12:50'
|
||||
end: '14:25'
|
||||
name: Теория вероятностей и математич. статистика
|
||||
teacher.room:
|
||||
- {t: Шевцова И.Г., r: '504'}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '14:35'
|
||||
end: '16:10'
|
||||
name: Математический анализ
|
||||
teacher.room:
|
||||
- {t: Сычугов Д.Ю., r: '615'}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '16:20'
|
||||
end: '17:55'
|
||||
name: null
|
||||
teacher.room: []
|
||||
type: seminar
|
||||
parity: null
|
||||
sat:
|
||||
- begin: '8:45'
|
||||
end: '10:20'
|
||||
name: Философия
|
||||
teacher.room:
|
||||
- {t: профессор Девятова Светлана Владимировна, r: П-14}
|
||||
type: lecture
|
||||
parity: null
|
||||
- begin: '10:30'
|
||||
end: '12:05'
|
||||
name: Философия Девятова С.В.
|
||||
teacher.room:
|
||||
- {t: null, r: '508'}
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '12:15'
|
||||
end: '13:50'
|
||||
name: null
|
||||
teacher.room: []
|
||||
type: seminar
|
||||
parity: null
|
||||
- begin: '14:35'
|
||||
end: '16:10'
|
||||
name: Операционные системы
|
||||
teacher.room:
|
||||
- {t: профессор Машечкин Игорь Валерьевич, r: П-13}
|
||||
type: lecture
|
||||
parity: null
|
||||
- begin: '16:20'
|
||||
end: '17:55'
|
||||
name: Операционные системы
|
||||
teacher.room:
|
||||
- {t: профессор Машечкин Игорь Валерьевич, r: П-13}
|
||||
type: lecture
|
||||
parity: null
|
||||
Reference in New Issue
Block a user