class user_info(commands): async def run(self): res = await self.create_mongo.profile_users_add(self.from_id) if res[1] > 20: user_id = await self.getting_user_id() if not user_id: user_id = self.from_id msg = await self.info_user(user_id, f=1) await self.apis.api_post("messages.send", v=self.v, peer_id=self.from_id, message=msg, random_id=0) else: msg = await self.info_user(self.from_id, f=1, res=res) await self.apis.api_post("messages.send", v=self.v, peer_id=self.from_id, message=msg, random_id=0) user_infos = command_ls.Command() user_infos.keys = ['/профиль'] user_infos.description = 'Профиль' user_infos.process = user_info user_infos.topics_blocks = ["target", "consultants"] user_infos.topics_resolution = []
class interest_event(commands): async def run(self): msg = await self.get_event_interest() if msg[1]: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0, keyboard=self.level_interest_event(f"10&{msg[2]}")) else: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0) await self.step_back_bool() interest_events = command_ls.Command() interest_events.keys = ['IT и анализ данных', 'Химия и биотехнология', 'Информационная/компьютерная безопасность', 'Радиоэлектроника', 'Робототехника и автоматизация', 'Экономика и управление', 'Дизайн', 'Юриспруденция'] interest_events.description = 'Подобрать направление по интересу' interest_events.set_dictionary('interest_event') interest_events.process = interest_event interest_events.topics_blocks = [] interest_events.topics_resolution = ["tema1"]
# random_id=0, # keyboard=self.menu_incomplete()) # else: # await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, # message="\n\n".join(i), # random_id=0) # f += 1 # self.create_mongo.edit_user(self.peer_id, self.subjects_opposite[self.text]) # await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, # message="🧭 Введите сумму всех результатов ваших экзаменов\n\n" # f"📚 Выбранные предметы: {self.subjects[self.text]}", # random_id=0, # keyboard=self.menu()) score = command_ls.Command() score.keys = [ "Рус + мат(проф.) + инф", "Рус + мат(проф.) + физ", "Рус + мат(проф.) + общ", "Рус + мат(проф.) + хим", "Рус + общ + ист", "Рус + общ + твор", "Рус + мат(проф.) + твор", "Рус + мат(проф.) + гео", "Рус + инф + гео" ] score.description = 'Направления' score.set_dictionary('scores') score.process = scores score.topics_blocks = [] score.topics_resolution = ["tema1"]
import command_ls class answer(commands): async def run(self): #vopr = await self.create_mongo.questions_get_abitur(self.apis, self.v, self.peer_id, "bachelors") #await self.create_mongo.add_users_ls_status(self.from_id, nap="bachelors") txt = self.text.lower() if self.is_int(txt): if int(txt) > 0: documents = await self.create_mongo.get_users_ls_status( self.from_id, nap=True) otvet = self.create_mongo.questions_get_one( txt, documents=documents) await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=f"{otvet}", random_id=0) answers = command_ls.Command() answers.keys = [] answers.description = 'Ответ админа на вопрос' answers.name = 'answer' #answers.set_dictionary('answer') answers.process = answer answers.topics_blocks = [] answers.topics_resolution = ["tema1", "mirea_official"]
res = await self.create_mongo.get_value_profile_ls(self.from_id, directions=1) #print(res) if res: if res.get('place') and self.text.lower() == "шаг назад": place = res['place'] else: place = self.place[self.text.lower()] else: place = self.place[self.text.lower()] await self.create_mongo.setting_value_profile_ls(self.from_id, directions=1, place=place) await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="📚 Выбери нужный вариант", random_id=0, keyboard=self.level_choose_direction()) where_study_places = command_ls.Command() where_study_places.keys = ['москва', 'фрязино', 'ставрополь'] where_study_places.description = 'Подобрать направление по интересу' where_study_places.set_dictionary('where_study_place') where_study_places.process = where_study_place where_study_places.topics_blocks = [] where_study_places.topics_resolution = ["tema1"]
from commands import commands import command_ls class question(commands): async def run(self): await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="📚 Выбери свой статус", random_id=0, keyboard=self.level_status()) questions = command_ls.Command() questions.keys = ['Частые вопросы'] questions.description = 'Вопросы' questions.set_dictionary('question') questions.process = question questions.topics_blocks = [] questions.topics_resolution = ["tema1"]
async def run(self): msg = await self.get_event_type(event_id=15) if msg[1]: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0, keyboard=self.level_interest_event(f"10&{msg[2]}")) else: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0) await self.step_back_bool() all_open_days = command_ls.Command() all_open_days.keys = ['Хочу посмотреть все'] all_open_days.description = 'Хочу посмотреть все ДОД' all_open_days.set_dictionary('all_open_day') all_open_days.process = all_open_day all_open_days.topics_blocks = [] all_open_days.topics_resolution = ["tema1"]
async def run(self): msg = await self.get_open_day_online_offline() if msg[1]: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0, keyboard=self.level_interest_event(f"10&{msg[2]}")) else: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0) await self.step_back_bool() offline_open_days = command_ls.Command() offline_open_days.keys = ['Только очные'] offline_open_days.description = 'Только очные ДОД' offline_open_days.set_dictionary('offline_open_day') offline_open_days.process = offline_open_day offline_open_days.topics_blocks = [] offline_open_days.topics_resolution = ["tema1"]
if int(i) != int(self.from_id): await self.apis.api_post("messages.edit", v=self.v, peer_id=int(i), message="Администратор начал отвечать на вопрос.", random_id=0, message_id=result[1][i], keep_forward_messages=1) if result[4]: for j in result[4]: await self.apis.api_post("messages.edit", v=self.v, peer_id=int(j), message="👤 Пользователь задал вопрос, чтобы ответить на вопрос нажмите на кнопку и напишите текст ответа.", random_id=0, message_id=result[4][j], keyboard=self.keyboard_answer_admin(f"{self.from_id}@{result[5]}"), keep_forward_messages=1) await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="Вы начали отвечать на данный вопрос, напишите ответ.", random_id=0, forward=self.answer_msg_other_parameters(user_id, result[3])) except Exception as e: print(traceback.format_exc()) answer_admins = command_ls.Command() answer_admins.keys = ['ответить', '/ответить'] answer_admins.description = 'Ответ админа на вопрос' answer_admins.process = answer_admin answer_admins.topics_blocks = [] answer_admins.topics_resolution = ["tema1", "mirea_official"]
from commands import commands import command_ls class select_exam(commands): async def run(self): await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="💡 Выбери, какой набор экзаменов ты собираешься сдавать.", random_id=0, keyboard=self.direction()) select_exams = command_ls.Command() select_exams.keys = ['Подобрать по экзаменам'] select_exams.description = 'Подобрать по экзаменам' select_exams.set_dictionary('select_exam') select_exams.process = select_exam select_exams.topics_blocks = [] select_exams.topics_resolution = ["tema1"]
from commands import commands import command_ls class select_interests(commands): async def run(self): await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="🎓 Выбери, что тебя интересует, чему бы ты хотел учиться.", random_id=0, keyboard=self.level_select_interests()) select_interestss = command_ls.Command() select_interestss.keys = ['Подобрать по интересам'] select_interestss.description = 'Подобрать направление' select_interestss.set_dictionary('select_interests') select_interestss.process = select_interests select_interestss.topics_blocks = [] select_interestss.topics_resolution = ["tema1"]
from commands import commands import command_ls class focus_open_day(commands): async def run(self): await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="🎓 Выбери, что тебя интересует, чему бы ты хотел учиться.", random_id=0, keyboard=self.level_focus_open_day()) focus_open_days = command_ls.Command() focus_open_days.keys = ['Хочу выбрать направленность'] focus_open_days.description = 'Хочу выбрать направленность ДОД' focus_open_days.set_dictionary('focus_open_day') focus_open_days.process = focus_open_day focus_open_days.topics_blocks = [] focus_open_days.topics_resolution = ["tema1"]
import command_ls from commands import commands from api import api_url, api, photo_upload class undergraduate_specialty(commands): async def run(self): vopr = await self.create_mongo.questions_get_abitur( self.apis, self.v, self.peer_id, "bac") self.create_mongo.add_user(self.peer_id, 0, nap="bac") await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"✏ Чтобы узнать ответ на вопрос, напишите номер интересующего вас вопроса.", random_id=0, attachment=vopr) undergraduate_specialtys = command_ls.Command() undergraduate_specialtys.keys = [ 'бакалавриат / специалитетенр', 'бакалавриатенрнр', 'специалитетерр' ] undergraduate_specialtys.description = 'бакалавриат / специалитет' undergraduate_specialtys.process = undergraduate_specialty undergraduate_specialtys.topics_blocks = ["target", "consultants"] undergraduate_specialtys.topics_resolution = []
message= "👤 Пользователь задал вопрос, чтобы ответить на вопрос нажмите на кнопку и напишите текст ответа.", random_id=0, keyboard=self.keyboard_answer_admin( f"{self.from_id}@{nom}"), forward=self.answer_msg_other_parameters( self.peer_id, self.conversation_message_id)) slov[f"{i}"] = msg await self.create_mongo.admin_answer_add( self.from_id, self.text, self.message_id, self.conversation_message_id, slov, self.date) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "✅ Вопрос администратору успешно отправлен. Ожидайте ответа.", random_id=0, forward=self.answer_msg()) admins = command_ls.Command() admins.keys = ['админ', '/админ', '?'] admins.fully = True admins.description = 'Перессылка сообщений админу' admins.process = admin admins.topics_blocks = [] admins.topics_resolution = ["tema1", "mirea_official"]
message="🕵 Вы попали в секретный раздел, сообщения здесь самоуляются через 1 минуту.\n" "⚠ Если вы не успеете ответить на любое сообщение из этого раздела, не включая это, " "ваша единственная попытка разбана на одну беседу сгорит.\n\n" "Вам необходимо пройти тест из 8 вопросов.\n" "Чтобы получить разбан, ответьте правильно на 5.\n" "Для ответа на вопрос отправьте сообщение с выбранным номером ответа.\n" "После выбора беседы сразу начнётся тест.\n\n" "Выберите номер беседы, в которой вас необходимо разбанить, " "показаны только те беседы, где доступна попытка разбана:\n" + "\n".join(names), random_id=0, expire_ttl=60, keyboard=self.keyboard_empty()) self.create_mongo.add_user(self.peer_id, 4, 1, self.date, slov) #await asyncio.sleep(65) except Exception as e: print(traceback.format_exc()) automatic_unbans = command_ls.Command() automatic_unbans.keys = ['разбан', 'разбанить'] automatic_unbans.description = 'Разбан' automatic_unbans.process = automatic_unban automatic_unbans.topics_blocks = [] automatic_unbans.topics_resolution = ["tema1"]
async def run(self): msg = await self.get_event_online_offline(is_online=True) if msg[1]: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0, keyboard=self.level_interest_event(f"10&{msg[2]}")) else: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0) await self.step_back_bool() online_events = command_ls.Command() online_events.keys = ['Онлайн мероприятия'] online_events.description = 'Подобрать онлайн мероприятие' online_events.set_dictionary('online_event') online_events.process = online_event online_events.topics_blocks = [] online_events.topics_resolution = ["tema1"]
from commands import commands import command_ls class want_college(commands): async def run(self): vopr = await self.create_mongo.questions_get_abitur(self.apis, self.v, self.peer_id, "college") await self.create_mongo.add_users_ls_status(self.from_id, nap="college") await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="✏ Чтобы узнать ответ на вопрос, напишите номер интересующего вас вопроса.", random_id=0, keyboard=self.menu_incomplete(), attachment=vopr) want_colleges = command_ls.Command() want_colleges.keys = ['Хочу поступать в колледж'] want_colleges.description = 'Хочу поступать в колледж' want_colleges.set_dictionary('want_college') want_colleges.process = want_college want_colleges.topics_blocks = [] want_colleges.topics_resolution = ["tema1"]
from commands import commands import command_ls class choose_direction(commands): async def run(self): await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "🎓 Какой уровень будете познавать?", random_id=0, keyboard=self.level_where_level()) choose_directions = command_ls.Command() choose_directions.keys = ['подобрать направление'] choose_directions.description = 'где живёт' choose_directions.set_dictionary('choose_direction') choose_directions.process = choose_direction choose_directions.topics_blocks = [] choose_directions.topics_resolution = ["tema1"]
from commands import commands import command_ls class want_university(commands): async def run(self): await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="📈 Выберите уровень обучения", random_id=0, keyboard=self.level_education_q()) want_universitys = command_ls.Command() want_universitys.keys = ['Хочу поступать в вуз'] want_universitys.description = 'Вопросы' want_universitys.set_dictionary('want_university') want_universitys.process = want_university want_universitys.topics_blocks = [] want_universitys.topics_resolution = ["tema1"]
class competitive_situation(commands): async def run(self): res = await self.create_mongo.users_directions_add_start(self.from_id) if res: msg = await self.snils_check(flag=1) g = 1 for i in msg[1]: if g == len(msg[1]): await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(i), random_id=0, keyboard=self.competition(msg[0])) else: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(i), random_id=0) competitive_situations = command_ls.Command() competitive_situations.keys = ['моя ситуация122331', 'ситуация23423'] competitive_situations.description = 'Моя ситуация' competitive_situations.process = competitive_situation competitive_situations.topics_blocks = [] competitive_situations.topics_resolution = ["tema1"]
import command_ls from api import api_url class survey(commands): async def run(self): result = await api_url(f"{self.url_dj}poll").get_json() if result["status"] == "0": await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="К сожалению опросов сейчас нет:(", random_id=0) await self.step_back_bool() return await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=#"Начнём опрос, выход из опроса по нажатию кнопки Меню." "📊 Выберите опрос, который хотите пройти.", random_id=0, keyboard=self.menu_naked_survey(result["polls"])) surveys = command_ls.Command() surveys.keys = ['пройти опрос о мероприятиях', 'опрос'] surveys.description = 'Опросы' surveys.set_dictionary('survey') surveys.process = survey surveys.topics_blocks = [] surveys.topics_resolution = ["tema1"]
from commands import commands import command_ls class type_event(commands): async def run(self): await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="📁 Выбери нужный формат мероприятия", random_id=0, keyboard=self.level_type_event()) type_events = command_ls.Command() type_events.keys = ['По виду мероприятия'] type_events.description = 'По виду мероприятия' type_events.set_dictionary('type_event') type_events.process = type_event type_events.topics_blocks = [] type_events.topics_resolution = ["tema1"]
from commands import commands import command_ls class studying_university_college(commands): async def run(self): vopr = await self.create_mongo.questions_get_abitur( self.apis, self.v, self.peer_id, "student") await self.create_mongo.add_users_ls_status(self.from_id, nap="student") await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "✏ Чтобы узнать ответ на вопрос, напишите номер интересующего вас вопроса.", random_id=0, keyboard=self.menu_incomplete(), attachment=vopr) studying_university_colleges = command_ls.Command() studying_university_colleges.keys = ['Уже учусь в вузе/колледже'] studying_university_colleges.description = 'Уже учусь в вузе/колледже' studying_university_colleges.set_dictionary('studying_university_college') studying_university_colleges.process = studying_university_college studying_university_colleges.topics_blocks = [] studying_university_colleges.topics_resolution = ["tema1"]
class help(commands): async def run(self): if self.them == "mirea_official": await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="😎 Я здесь, чтобы ответить на частые вопросы и поделиться полезными ссылками.\n" "💬 Если вы хотите посмотреть список часто задаваемых вопросов и получить ответ на них, нажмите на соответствующую кнопку.", random_id=0, keyboard=self.menu_mirea()) else: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="😎 Я здесь, чтобы помочь разобраться с поступлением в МИРЭА – Российский технологический университет. Я умею:\n" "💬 Отвечать на частые вопросы\n" "✈ Подбирать направление подготовки\n" "👥 Подбирать мероприятие, на которое тебе стоит сходить\n" "🗣 Рассказывать о Днях открытых дверей\n\n" "⁉ Чем помочь тебе? Кликай на нужную кнопку и будем поступать в РТУ МИРЭА вместе.", random_id=0, keyboard=self.menu()) helps = command_ls.Command() helps.keys = ['команды', 'начать', 'help', 'меню', 'Вернуться в меню'] helps.description = 'Меню' helps.set_dictionary('help') helps.process = help helps.topics_blocks = [] helps.topics_resolution = ["tema1", "mirea_official"]
from commands import commands import command_ls from api import api_url class questions_survey(commands): async def run(self): result = await api_url(f"{self.url_dj}poll").post_json( name=self.text.lower()) if result["status"] == "0": await self.step_back_bool() return await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="Опросы", random_id=0, keyboard=self.level_where_study()) questions_surveys = command_ls.Command() questions_surveys.keys = [''] questions_surveys.mandatory = True questions_surveys.description = 'Ответы на вопросы опроса' questions_surveys.set_dictionary('questions_survey') questions_surveys.process = questions_survey questions_surveys.topics_blocks = [] questions_surveys.topics_resolution = ["tema1"]
import command_ls from commands import commands class competition(commands): async def run(self): #self.create_mongo.add_user(self.peer_id, 5) res = await self.create_mongo.users_directions_add_start(self.from_id) f = 0 if res: f = 1 await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="Выберите нужную функцию", random_id=0, keyboard=self.competition(f)) competitions = command_ls.Command() competitions.keys = ['конкурс544545', '/конкурс454545'] competitions.description = 'Ответ на конкурс' competitions.process = competition competitions.topics_blocks = [] competitions.topics_resolution = ["tema1"]
import command_ls class format_type_event(commands): async def run(self): msg = await self.get_event_type() if msg[1]: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0, keyboard=self.level_interest_event(f"10&{msg[2]}")) else: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="\n\n".join(msg[0]), random_id=0) format_type_events = command_ls.Command() format_type_events.keys = ['Лекции', 'Мастер-классы', 'Экскурсии', 'Интеллектуальные игры', 'Университетские субботы', 'Презентации Институтов и направлений', 'Дни открытых дверей', 'Олимпиады'] format_type_events.description = 'Подобрать по виду мероприятие' format_type_events.set_dictionary('format_type_event') format_type_events.process = format_type_event format_type_events.topics_blocks = [] format_type_events.topics_resolution = ["tema1"]
date = ret["date_editing"].strftime('%m.%d.%Y') await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message=f"✅ Баллы доверия прибавляются:\n\n" f"➕ 3 за посещение очного мастер-класса/тренинга;\n\n" f"➕ 2 за посещение онлайн мастер-класса/тренинга;\n\n" f"➕ 4 за посещение очного занятия с кураторами;\n\n" f"➕ 3 за посещение онлайн занятия с кураторами;\n\n" f"➕ 5 за посещение очных мероприятий в выходной день;\n\n" f"➕ 4 за выполнение домашнего задания;\n\n" f"➕ 1 за посещение всех мероприятий на неделе;\n\n" f"➕ 1 за активность в течение онлайн встречи (оценка куратора/тренера);\n\n" f"➕ (1-5) за активность на очном занятии с куратором;\n\n" f"❌ Баллы доверия списываются:\n\n" f"➖ 5 за неявку на мастер-класс/тренинг с ограниченными местами без предупреждения заранее (за 3 часа до начала мастер-класса);\n\n" f"➖ 3 за нарушение норм поведения (нецензурная брань, хамство, неуважение по отношению к другим слушателям школы и ее организаторам и т.д.);\n\n" f"➖ 2 за невыполнение домашнего задания\n\n" f"📊 Ваш текущий рейтинг: {ret['rating']}\n⌚ Последнее обновление: {date}", random_id=0) ratings = command_ls.Command() ratings.keys = ['/рейтинг13232', '/рет3323', 'рейтинг2323'] ratings.description = 'Рейтинг' ratings.process = rating ratings.topics_blocks = [] ratings.topics_resolution = ["consultants"]
from commands import commands import command_ls class magistracy(commands): async def run(self): vopr = await self.create_mongo.questions_get_abitur( self.apis, self.v, self.peer_id, "magistracy") await self.create_mongo.add_users_ls_status(self.from_id, nap="magistracy") await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "✏ Чтобы узнать ответ на вопрос, напишите номер интересующего вас вопроса.", random_id=0, keyboard=self.menu_incomplete(), attachment=vopr) magistracys = command_ls.Command() magistracys.keys = ['Поступаю в магистратуру'] magistracys.description = 'Показать вопросы магистратуры' magistracys.set_dictionary('magistracy') magistracys.process = magistracy magistracys.topics_blocks = [] magistracys.topics_resolution = ["tema1"]
import command_ls from commands import commands class directions(commands): async def run(self): self.create_mongo.add_user(self.peer_id, 1) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "💡 Для выбора сданных вами предметов используйте соответствующие кнопки.\n\n", random_id=0, keyboard=self.direction()) direction = command_ls.Command() direction.keys = ['напркер', 'направленияер', 'направлениенер'] direction.description = 'Направления' direction.process = directions direction.topics_blocks = [] direction.topics_resolution = ["tema1"]