forked from gav/es-bot
MVP
This commit is contained in:
@ -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(),
|
||||
)
|
@ -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(),
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
9
main.py
9
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())
|
||||
|
||||
|
||||
|
0
nft_things/__init__.py
Normal file
0
nft_things/__init__.py
Normal file
Reference in New Issue
Block a user