Рефакторинг для запуска в виде модуля.

This commit is contained in:
Kirill Kirilenko 2025-11-11 15:26:25 +03:00
parent 7acb795c0b
commit d8338b0351
10 changed files with 33 additions and 40 deletions

4
.gitignore vendored
View file

@ -1,5 +1,5 @@
.idea
.venv
__pycache__
bot.db
config.json
*.db
*.json

View file

@ -1,17 +0,0 @@
import json
# Config = {
# api_token: "xxxxxxxx"
# }
Config = {}
def config_load():
global Config
with open('config.json', 'r') as file:
Config = json.load(file)
config_load()
print('Конфигурация загружена.')

View file

@ -3,8 +3,8 @@ from typing import List
class BasicDatabase:
def __init__(self):
self.conn = sqlite3.connect('bot.db')
def __init__(self, filename: str):
self.conn = sqlite3.connect(filename)
self.conn.row_factory = sqlite3.Row
self.cursor = self.conn.cursor()

0
tg/__init__.py Normal file
View file

View file

@ -1,14 +1,18 @@
import asyncio
import json
from aiogram import Bot, Dispatcher
import config
import handlers
import tasks
from . import handlers
from . import tasks
async def main() -> None:
bot = Bot(token=config.Config['api_token'])
with open('tg.json', 'r') as file:
config = json.load(file)
print('Конфигурация загружена.')
bot = Bot(token=config['api_token'])
dp = Dispatcher()
dp.include_router(handlers.router)
@ -16,5 +20,5 @@ async def main() -> None:
asyncio.create_task(tasks.daily_maintenance_task(bot))
await dp.start_polling(bot)
if __name__ == '__main__':
asyncio.run(main())

View file

@ -3,7 +3,7 @@ import database
class TgDatabase(database.BasicDatabase):
def __init__(self):
super().__init__()
super().__init__('tg.db')
self.cursor.execute("""
CREATE TABLE IF NOT EXISTS chats (

0
vk/__init__.py Normal file
View file

17
vk/__main__.py Normal file
View file

@ -0,0 +1,17 @@
import json
from . import handlers
from . import tasks
from vkbottle.bot import Bot as VkBot
if __name__ == '__main__':
with open('vk.json', 'r') as file:
config = json.load(file)
print('Конфигурация загружена.')
bot = VkBot(config['api_token'], labeler=handlers.labeler)
bot.loop_wrapper.on_startup.append(tasks.startup_task(bot.api))
bot.loop_wrapper.add_task(tasks.daily_maintenance_task(bot.api))
bot.run_forever()

View file

@ -1,11 +0,0 @@
import config
import handlers
import tasks
from vkbottle.bot import Bot as VkBot
bot = VkBot(config.Config['api_token'], labeler=handlers.labeler)
bot.loop_wrapper.on_startup.append(tasks.startup_task(bot.api))
bot.loop_wrapper.add_task(tasks.daily_maintenance_task(bot.api))
bot.run_forever()

View file

@ -3,7 +3,7 @@ import database
class VkDatabase(database.BasicDatabase):
def __init__(self):
super().__init__()
super().__init__('vk.db')
self.cursor.execute("""
CREATE TABLE IF NOT EXISTS chats (