diff --git a/blueprints/menu.py b/blueprints/menu.py index d82ff10..e8926b0 100644 --- a/blueprints/menu.py +++ b/blueprints/menu.py @@ -1,17 +1,12 @@ from vkwave.bots import DefaultRouter, SimpleBotEvent, simple_bot_message_handler import locales -# MENU_KB.add_row() -# MENU_KB.add_text_button(text="Профиль", payload={"command": "profile"}, color=ButtonColor.SECONDARY) -# MENU_KB.add_row() -# MENU_KB.add_text_button(text="Бонус", payload={"command": "bonus"}, color=ButtonColor.POSITIVE) - menu_router = DefaultRouter() @simple_bot_message_handler(menu_router,) async def menu(event: SimpleBotEvent): return await event.answer( - message=f"Привет!", + message=locales.MENU, keyboard=locales.MENU_KB.get_keyboard(), ) \ No newline at end of file diff --git a/blueprints/test.py b/blueprints/test.py index 3d3cf58..1c22633 100644 --- a/blueprints/test.py +++ b/blueprints/test.py @@ -2,13 +2,15 @@ import json import logging import random -from vkwave.bots import DefaultRouter, SimpleBotEvent, simple_bot_message_handler, PayloadFilter, PayloadContainsFilter +from vkwave.bots import DefaultRouter, SimpleBotEvent, simple_bot_message_handler, PayloadFilter, PayloadContainsFilter, \ + PhotoUploader from vkwave.bots import Keyboard, ButtonColor from vkwave.bots import EventTypeFilter, BotEvent from vkwave.types.bot_events import BotEventType from vkwave.bots.fsm import FiniteStateMachine, StateFilter, ForWhat, State, ANY_STATE import locales +from config import Config from db import DB from db.db import TestResult from locales import INPUT_NAME_TEXT @@ -18,6 +20,7 @@ from locales import INPUT_NAME_TEXT # MENU_KB.add_text_button(text="Профиль", payload={"command": "profile"}, color=ButtonColor.SECONDARY) # MENU_KB.add_row() # MENU_KB.add_text_button(text="Бонус", payload={"command": "bonus"}, color=ButtonColor.POSITIVE) +# from nft_things.NftSender import NFTSender test_router = DefaultRouter() @@ -63,6 +66,16 @@ async def main_part_handle(event: BotEvent): keyboard=locales.questions[state_idx + 1][1].get_keyboard(), ) else: + # todo add task to send user an image here + # Config().nft_sender.add_task() + logging.warn("Sending attach!") + big_attachment = await Config().uploader.get_attachments_from_paths( + peer_id=user_id, + file_paths=["img.jpg"], + ) + await Config().api_ctx.messages.send( + user_id=user_id, attachment=big_attachment, random_id=0 + ) return await botevent.answer( message=locales.LAST_MESSAGE, keyboard=locales.LAST_MESSAGE_KB.get_keyboard(), diff --git a/config.py b/config.py index e9f51d3..268f36c 100644 --- a/config.py +++ b/config.py @@ -9,3 +9,8 @@ class Config(metaclass=Singleton): PG_USER = os.environ["USER"] PG_PASS = os.environ["PASS"] PG_ADDR = os.environ["DB_ADDR"] + + def __init__(self): + self.api_ctx = None + self.uploader = None + diff --git a/img.jpg b/img.jpg new file mode 100644 index 0000000..6392388 Binary files /dev/null and b/img.jpg differ diff --git a/locales.py b/locales.py index b41cedc..744ba39 100644 --- a/locales.py +++ b/locales.py @@ -1,8 +1,10 @@ from vkwave.bots import Keyboard, ButtonColor # menu +MENU = "Привет!" MENU_KB = Keyboard() MENU_KB.add_text_button(text="Пройти тест!", payload={"test": "-1"}, color=ButtonColor.POSITIVE) +MENU_KB.add_link_button(text="Общий чатик", link="https://vk.me/join/AJQ1dw97/SBEQYIyQdZfG69y") # TEST Questions INPUT_NAME_TEXT = "Пожалуйста, введите имя:" @@ -34,7 +36,7 @@ FAV_THEME = "Какой предмет нравится?" FAV_THEME_KB = Keyboard() FAV_THEME_KB.add_text_button(text="Матеша", payload={"q": "Матеша", "test": "2"}, color=ButtonColor.PRIMARY) FAV_THEME_KB.add_text_button(text="Русский/Литра", payload={"q": "русскийлитра", "test": "2"}, color=ButtonColor.PRIMARY) -FAV_THEME_KB.add_text_button(text="Инфа", payload={"q": "Инфа", "test": "0"}, color=ButtonColor.PRIMARY) +FAV_THEME_KB.add_text_button(text="Инфа", payload={"q": "Инфа", "test": "2"}, color=ButtonColor.PRIMARY) FAV_THEME_KB.add_row() FAV_THEME_KB.add_text_button(text="Физика", payload={"q": "Физика", "test": "2"}, color=ButtonColor.PRIMARY) FAV_THEME_KB.add_text_button(text="другое", payload={"q": "other", "test": "2"}, color=ButtonColor.PRIMARY) diff --git a/main.py b/main.py index 2dff82c..ca8d1c9 100644 --- a/main.py +++ b/main.py @@ -1,17 +1,24 @@ import logging -from vkwave.bots import SimpleLongPollBot +from vkwave.bots import SimpleLongPollBot, PhotoUploader from blueprints import ( menu_router, test_router, ) from config import Config from middlewares import UserMiddleware +# from nft_things.NftSender import NFTSender logging.basicConfig(level="DEBUG") bot = SimpleLongPollBot(Config.TOKEN, group_id=Config.GROUP_ID) +# nft_sender = NFTSender(bot.api_context) +# nft_sender.start() +uploader = PhotoUploader(bot.api_context) +Config().api_ctx = bot.api_context +Config().uploader = uploader + bot.middleware_manager.add_middleware(UserMiddleware()) diff --git a/nft_things/__init__.py b/nft_things/__init__.py new file mode 100644 index 0000000..e69de29