From 8d9fb40eb5a1ab3b2d89708a4d239c014f9bdd4b Mon Sep 17 00:00:00 2001 From: Igor Tolmachov Date: Sat, 9 Jul 2022 12:47:49 +0900 Subject: Опрос без таймера и settigs.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handlers/gen.py | 7 ++++--- handlers/member.py | 4 +--- handlers/pin.py | 9 +++++---- shared/config.py | 21 +++++++++++++++++++++ shared/instances.py | 1 - utils/filters.py | 4 ++-- 6 files changed, 33 insertions(+), 13 deletions(-) diff --git a/handlers/gen.py b/handlers/gen.py index d324049..43301c5 100644 --- a/handlers/gen.py +++ b/handlers/gen.py @@ -3,7 +3,7 @@ import os import mc from aiogram import types as t -from shared import instances as ins +from shared import config from shared.instances import bot, dp from utils import filters as f @@ -43,7 +43,8 @@ async def изменить_шанс_срания(msg: t.Message): try: chance = int(msg.get_args().split()[0]) if 0 <= chance <= 100: - ins.gen_chance[msg.chat.id] = chance + config.chances[msg.chat.id] = chance + config.save() else: raise RuntimeError() @@ -53,7 +54,7 @@ async def изменить_шанс_срания(msg: t.Message): "Я хз что не так, но я знаю что ты дебил \n /chance <ЧИСЛО ОТ 0 ДО 100>" ) else: - await msg.answer(f"Я сру с шансом в: {ins.gen_chance.get(msg.chat.id, 10)}%") + await msg.answer(f"Я сру с шансом в: {config.chances.get(msg.chat.id, 10)}%") @dp.message_handler(f.message.chance, content_types=[t.ContentType.ANY]) diff --git a/handlers/member.py b/handlers/member.py index 83fd39f..3cb1dd8 100644 --- a/handlers/member.py +++ b/handlers/member.py @@ -11,7 +11,7 @@ async def приём_запроса(cjr: t.ChatJoinRequest): f'{cjr.from_user.mention} хочет в чат', parse_mode=t.ParseMode.HTML, ) - await bot.send_poll( + await r.reply_poll( cjr.chat.id, "Пускаем ?", [ @@ -19,8 +19,6 @@ async def приём_запроса(cjr: t.ChatJoinRequest): "Нет", ], False, - reply_to_message_id=r.message_id, - open_period=600, reply_markup=t.InlineKeyboardMarkup().add( t.InlineKeyboardButton( "Проверить опрос", diff --git a/handlers/pin.py b/handlers/pin.py index abf7b86..fc81ed1 100644 --- a/handlers/pin.py +++ b/handlers/pin.py @@ -1,5 +1,3 @@ -from datetime import datetime, timedelta - from aiogram import types as t from shared.instances import bot, dp @@ -16,8 +14,11 @@ async def закрепить_хуету(msg: t.Message): ) await r.reply_poll( "Закрепить ?", - ["Да", "УДАЛИ НАХУЙ", "Нет"], - close_date=datetime.now() + timedelta(minutes=10), + [ + "Да", + "УДАЛИ НАХУЙ", + "Нет", + ], reply_markup=t.InlineKeyboardMarkup().add( t.InlineKeyboardButton( "Проверить опрос", diff --git a/shared/config.py b/shared/config.py index 6b973d3..d04a510 100644 --- a/shared/config.py +++ b/shared/config.py @@ -1,3 +1,24 @@ +from copy import deepcopy +from json import dump, load from os import environ as env +from os import path +from typing import Any +if path.exists("data/settings.json"): + open("data/settings.json", "w").close() +fields: dict[str, Any] = { + "chances": {}, +} + +settings: dict[str, Any] = load(open("data/settings.json", "r")) +for key, default in fields.items(): + settings[key] = settings.get(key, deepcopy(default)) + + +def save(): + dump(settings, open("data/settings.json", "w")) + + +# Configs token = env["TOKEN"] +chances = settings["chances"] diff --git a/shared/instances.py b/shared/instances.py index 3ffec5e..9ca0b2c 100644 --- a/shared/instances.py +++ b/shared/instances.py @@ -4,4 +4,3 @@ from shared.config import token bot = Bot(token=token) dp = Dispatcher(bot) -gen_chance: dict[int, int] = {} diff --git a/utils/filters.py b/utils/filters.py index 90b908a..5dc280b 100644 --- a/utils/filters.py +++ b/utils/filters.py @@ -5,7 +5,7 @@ from random import randint from aiogram import filters as f from aiogram import types as t -from shared import instances as ins +from shared import config class message: @@ -13,7 +13,7 @@ class message: @staticmethod def chance(msg: t.Message): - return ins.gen_chance.get(msg.chat.id, 10) >= randint(1, 100) + return config.chances.get(msg.chat.id, 10) >= randint(1, 100) @staticmethod def has_text(msg: t.Message): -- cgit v1.2.3