from database.models import Chat from database.models import FinancialCategory from services import filters from services import keyboard as kbs from services.finances import generate_debtors_call from services.logger.config import config finances_router = DefaultRouter() api_session = API(tokens=os.getenv("VK_TOKEN"), clients=AIOHTTPClient()) api = api_session.get_context() logger.configure(**config) @simple_bot_message_handler( finances_router, filters.PLFilter({"button": "finances"}), MessageFromConversationTypeFilter("from_pm"), ) @logger.catch() async def finances(ans: SimpleBotEvent): with logger.contextualize(user_id=ans.object.object.message.from_id): await ans.answer( "Список финансовых категорий", keyboard=kbs.finances.list_of_fin_categories( db.students.get_system_id_of_student( ans.object.object.message.from_id), ), ) @simple_bot_message_handler( finances_router,
from database import utils as db from database.models import Student from services import filters from services import keyboard as kbs from services.logger.config import config contacts_router = DefaultRouter() api_session = API(tokens=os.getenv("VK_TOKEN"), clients=AIOHTTPClient()) api = api_session.get_context() logger.configure(**config) @simple_bot_message_handler( contacts_router, filters.PLFilter({"button": "contacts"}), MessageFromConversationTypeFilter("from_pm"), ) @logger.catch() async def start_contacts(ans: SimpleBotEvent): with logger.contextualize(user_id=ans.object.object.message.from_id): db.shortcuts.update_admin_storage( db.students.get_system_id_of_student( ans.object.object.message.from_id), state_id=db.bot.get_id_of_state("select_student"), ) await ans.answer( "Выберите студента для отображения его контактной информации", keyboard=kbs.contacts.ContactsNavigator( db.students.get_system_id_of_student( ans.object.object.message.from_id, ), ).render().menu(),
import os from loguru import logger from vkwave.api import API from vkwave.bots import DefaultRouter from vkwave.bots import MessageFromConversationTypeFilter from vkwave.bots import SimpleBotEvent from vkwave.bots import simple_bot_message_handler from vkwave.client import AIOHTTPClient from services import filters from services.logger.config import config schedule_router = DefaultRouter() api_session = API(tokens=os.getenv("VK_TOKEN"), clients=AIOHTTPClient()) api = api_session.get_context() logger.configure(**config) @simple_bot_message_handler( schedule_router, filters.PLFilter({"button": "schedule"}), MessageFromConversationTypeFilter("from_pm"), ) @logger.catch() async def start_call(ans: SimpleBotEvent): await ans.answer("Этот раздел находится в разработке")
from services import filters from services import keyboard as kbs from services.chats import get_confirm_message from services.chats import prepare_set_from_db from services.chats import prepare_set_from_vk from services.logger.config import config preferences_router = DefaultRouter() api_session = API(tokens=os.getenv("VK_TOKEN"), clients=AIOHTTPClient()) api = api_session.get_context() logger.configure(**config) @simple_bot_message_handler( preferences_router, filters.PLFilter({"button": "settings"}), MessageFromConversationTypeFilter("from_pm"), ) @logger.catch() async def open_preferences(ans: SimpleBotEvent): with logger.contextualize(user_id=ans.object.object.message.from_id): active_group = db.admin.get_active_group( db.students.get_system_id_of_student(ans.object.object.message.from_id), ) await ans.answer( f"Настройки\nАктивная группа: {active_group.group_num} (" f"{active_group.specialty})", keyboard=kbs.preferences.preferences( db.students.get_system_id_of_student(ans.object.object.message.peer_id), ), )
import os from loguru import logger from vkwave.api import API from vkwave.bots import DefaultRouter from vkwave.bots import MessageFromConversationTypeFilter from vkwave.bots import SimpleBotEvent from vkwave.bots import simple_bot_message_handler from vkwave.client import AIOHTTPClient from services import filters from services.logger.config import config web_router = DefaultRouter() api_session = API(tokens=os.getenv("VK_TOKEN"), clients=AIOHTTPClient()) api = api_session.get_context() logger.configure(**config) @simple_bot_message_handler( web_router, filters.PLFilter({"button": "web"}), MessageFromConversationTypeFilter("from_pm"), ) @logger.catch() async def start_call(ans: SimpleBotEvent): await ans.answer("Этот раздел находится в разработке")
from services import call from services import filters from services import keyboard as kbs from services import media from services.exceptions import EmptyCallMessage from services.logger.config import config call_router = DefaultRouter() api_session = API(tokens=os.getenv("VK_TOKEN"), clients=AIOHTTPClient()) api = api_session.get_context() logger.configure(**config) @simple_bot_message_handler( call_router, filters.PLFilter({"button": "call"}), MessageFromConversationTypeFilter("from_pm"), ) @logger.catch() async def start_call(ans: SimpleBotEvent): with logger.contextualize(user_id=ans.object.object.message.from_id): if db.chats.get_list_of_chats_by_group( db.admin.get_active_group( db.students.get_system_id_of_student( ans.object.object.message.from_id), ), ): db.shortcuts.update_admin_storage( db.students.get_system_id_of_student( ans.object.object.message.peer_id), state_id=db.bot.get_id_of_state("wait_call_text"), ) await ans.answer(
from vkwave.client import AIOHTTPClient from database import utils as db from services import filters from services import keyboard as kbs from services.logger.config import config report_router = DefaultRouter() api_session = API(tokens=os.getenv("VK_TOKEN"), clients=AIOHTTPClient()) api = api_session.get_context() logger.configure(**config) @simple_bot_message_handler( report_router, filters.PLFilter({"button": "report_error"}), MessageFromConversationTypeFilter("from_pm"), ) @logger.catch() async def start_reporting(ans: SimpleBotEvent): db.shortcuts.update_admin_storage( db.students.get_system_id_of_student(ans.object.object.message.from_id), state_id=db.bot.get_id_of_state("wait_issue_title"), ) await ans.answer( "Отправьте заголовок проблемы, кратко описывающий произошедшее", keyboard=kbs.common.empty(), ) @simple_bot_message_handler(