mirror of
https://github.com/dizedev/vk_lp.git
synced 2026-09-17 06:19:03 +00:00
more cool features
This commit is contained in:
@@ -1,10 +1,7 @@
|
||||
from vkbottle.user import UserLabeler, Message, User
|
||||
from vkbottle.user import Message
|
||||
from main import user
|
||||
|
||||
TOKEN = "test"
|
||||
bl = UserLabeler()
|
||||
user = User(token=TOKEN)
|
||||
|
||||
|
||||
prefix_bot = "хуй"
|
||||
prefix_dd = "дд"
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
from . import config, models, requests
|
||||
@@ -0,0 +1,7 @@
|
||||
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
|
||||
|
||||
import config
|
||||
|
||||
DB_CONNECT_URL = f"postgresql+asyncpg://{config.psql_login}:{config.psql_password}@{config.psql_host}/{config.psql_database}"
|
||||
engine = create_async_engine(DB_CONNECT_URL)
|
||||
async_session = async_sessionmaker(engine)
|
||||
@@ -0,0 +1,14 @@
|
||||
from sqlalchemy import (BigInteger, Column, Identity, Text)
|
||||
from sqlalchemy.orm import DeclarativeBase
|
||||
|
||||
|
||||
class Base(DeclarativeBase):
|
||||
pass
|
||||
|
||||
|
||||
class UsersTokens(Base):
|
||||
__tablename__ = "users_tokens"
|
||||
|
||||
id = Column("id", BigInteger, Identity(start=1, increment=1, minvalue=1, cycle=False, cache=1), nullable=False, primary_key=True)
|
||||
vkid = Column("vkid", BigInteger, nullable=False)
|
||||
token = Column("token", Text, nullable=False)
|
||||
@@ -0,0 +1,35 @@
|
||||
from loguru import logger
|
||||
from sqlalchemy import select, update
|
||||
import db
|
||||
|
||||
|
||||
async def execute_statement(statement) -> None:
|
||||
"""
|
||||
Возвращает результат выполнения statement
|
||||
:param statement:
|
||||
:return:
|
||||
"""
|
||||
|
||||
try:
|
||||
async with db.config.async_session() as session:
|
||||
await session.execute(statement)
|
||||
await session.commit()
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
# return None
|
||||
|
||||
|
||||
async def get_user_token(user_id: int) -> str:
|
||||
"""
|
||||
Возвращает токен пользователя
|
||||
:param user_id: VKID
|
||||
"""
|
||||
|
||||
try:
|
||||
async with db.config.async_session() as session:
|
||||
result = await session.execute(select(db.models.UsersTokens).where(db.models.UsersTokens.vkid == user_id))
|
||||
return await result.scalars().one_or_none()
|
||||
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return None
|
||||
@@ -1,13 +1,25 @@
|
||||
import asyncio
|
||||
import sys
|
||||
from config import user
|
||||
from vkbottle.user import User
|
||||
import db.requests
|
||||
from routes import labelers
|
||||
from loguru import logger
|
||||
|
||||
logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")
|
||||
user = None
|
||||
|
||||
|
||||
async def main():
|
||||
global user
|
||||
|
||||
token = await db.requests.get_user_token(1232131)
|
||||
user = User(token=token)
|
||||
|
||||
for custom_labeler in labelers:
|
||||
user.labeler.load(custom_labeler)
|
||||
|
||||
user.run_forever()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
user.run_forever()
|
||||
asyncio.run(main())
|
||||
|
||||
@@ -2,3 +2,4 @@ gitpython==3.1.40
|
||||
loguru==0.7.2
|
||||
pytz==2023.3.post1
|
||||
vkbottle==4.3.12
|
||||
SQLAlchemy~=2.0.22
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
from . import game_handler, delete_msg, info_bot
|
||||
from . import game_handler, delete_msg, info_bot, rewards
|
||||
|
||||
labelers = [game_handler.bl, delete_msg.bl, info_bot.bl]
|
||||
labelers = [game_handler.bl, delete_msg.bl, info_bot.bl, rewards.bl]
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import datetime
|
||||
from custom_rules.permission import Permission
|
||||
from vkbottle.user import Message
|
||||
from config import bl, user, prefix_dd
|
||||
from vkbottle.user import Message, UserLabeler
|
||||
from config import user, prefix_dd
|
||||
|
||||
bl = UserLabeler(custom_rules=Permission)
|
||||
DD_SCRIPT = (
|
||||
'var i = 0;var msg_ids = [];var count = %d;'
|
||||
'var items = API.messages.getHistory({"peer_id":%d,"count":"200", "offset":"0"}).items;'
|
||||
@@ -36,6 +37,7 @@ async def dd_handler(message: Message, count: int = 2):
|
||||
)
|
||||
async def dd_all_handler(message: Message):
|
||||
count = 1000
|
||||
|
||||
await user.api.execute(
|
||||
DD_SCRIPT % (
|
||||
count,
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
import asyncio
|
||||
from vkbottle.user import Message
|
||||
from config import bl, prefix_bot, edit_message
|
||||
from vkbottle.user import Message, UserLabeler
|
||||
from config import prefix_bot, edit_message
|
||||
from custom_rules.permission import Permission
|
||||
|
||||
|
||||
bl = UserLabeler(custom_rules=Permission)
|
||||
|
||||
|
||||
@bl.message(
|
||||
Permission(),
|
||||
text=[prefix_bot + " игра"],
|
||||
|
||||
+5
-2
@@ -2,11 +2,14 @@ import pytz
|
||||
import git
|
||||
|
||||
from custom_rules.permission import Permission
|
||||
from vkbottle.user import Message
|
||||
from config import bl, edit_message, prefix_bot
|
||||
from vkbottle.user import Message, UserLabeler
|
||||
from config import edit_message, prefix_bot
|
||||
from utils import rewards_list
|
||||
|
||||
|
||||
bl = UserLabeler(custom_rules=Permission)
|
||||
|
||||
|
||||
@bl.message(Permission(), text=[prefix_bot + " бот"])
|
||||
async def about(message: Message):
|
||||
repo = git.Repo(search_parent_directories=True)
|
||||
|
||||
+3
-2
@@ -1,9 +1,10 @@
|
||||
from custom_rules.permission import Permission
|
||||
from vkbottle.user import Message
|
||||
from config import bl, edit_message, prefix_bot
|
||||
from vkbottle.user import Message, UserLabeler
|
||||
from config import edit_message, prefix_bot
|
||||
from utils import rewards_list
|
||||
|
||||
listToStr = ' '.join(map(str, rewards_list))
|
||||
bl = UserLabeler(custom_rules=Permission)
|
||||
|
||||
|
||||
@bl.message(Permission(), text=[prefix_bot + " достижения"])
|
||||
|
||||
Reference in New Issue
Block a user