コード例 #1
0
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,
コード例 #2
0
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(),
コード例 #3
0
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("Этот раздел находится в разработке")
コード例 #4
0
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),
            ),
        )
コード例 #5
0
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("Этот раздел находится в разработке")
コード例 #6
0
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(
コード例 #7
0
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(