import ujson from loguru import logger from pony import orm from vkwave import api, bots, client from jacob.database import models from jacob.database.utils import admin, lists, students from jacob.database.utils.storages import managers from jacob.services import call, chats, exceptions, filters from jacob.services import keyboard as kbs from jacob.services.logger import config as logger_config call_menu_router = bots.DefaultRouter() api_session = api.API( tokens=os.getenv("VK_TOKEN"), clients=client.AIOHTTPClient(), ) api_context = api_session.get_context() logger.configure(**logger_config.config) @bots.simple_bot_message_handler( call_menu_router, filters.PLFilter({"button": "half"}), filters.StateFilter("mention_select_mentioned"), bots.MessageFromConversationTypeFilter("from_pm"), ) async def _select_half(ans: bots.SimpleBotEvent): payload = ujson.loads(ans.object.object.message.payload) admin_id = students.get_system_id_of_student( ans.object.object.message.from_id)
def make_api(token: str, token_type: t.AnyABCToken, client_type: abstr.AbstractAPIClient) -> vapi.API: made_client = client_type() return vapi.API(tokens=make_token(token, token_type), clients=made_client), made_client