Template
mirror of
https://github.com/djimboy/djimbo_template_aio3.git
synced 2026-08-26 06:57:44 +00:00
Update
This commit is contained in:
@@ -7,15 +7,15 @@ from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
||||
BOT_TOKEN = configparser.ConfigParser()
|
||||
BOT_TOKEN.read("settings.ini")
|
||||
BOT_TOKEN = BOT_TOKEN['settings']['bot_token'].strip().replace(' ', '')
|
||||
BOT_TIMEZONE = "Europe/Moscow" # Временная зона бота
|
||||
|
||||
# Пути к файлам
|
||||
PATH_DATABASE = "tgbot/data/database.db" # Путь к БД
|
||||
PATH_LOGS = "tgbot/data/logs.log" # Путь к Логам
|
||||
|
||||
# Образы и конфиги
|
||||
BOT_STATUS_NOTIFICATION = True # Оповещение админам о запуске бота (True или False)
|
||||
BOT_TIMEZONE = "Europe/Moscow" # Временная зона бота
|
||||
BOT_SCHEDULER = AsyncIOScheduler(timezone=BOT_TIMEZONE) # Образ шедулера
|
||||
start_status = True # Оповещение админам о запуске бота (True или False)
|
||||
|
||||
|
||||
# Получение администраторов бота
|
||||
@@ -37,5 +37,6 @@ def get_admins() -> list[int]:
|
||||
while " " in admins: admins.remove(" ")
|
||||
while "," in admins: admins.remove(",")
|
||||
while "\r" in admins: admins.remove("\r")
|
||||
while "\n" in admins: admins.remove("\n")
|
||||
|
||||
return list(map(int, admins))
|
||||
|
||||
@@ -9,7 +9,7 @@ from tgbot.database.db_helper import dict_factory, update_format
|
||||
|
||||
# Модель таблицы
|
||||
class SettingsModel(BaseModel):
|
||||
status_work: str
|
||||
status_work: str # Статус работы бота
|
||||
|
||||
|
||||
# Работа с настройками
|
||||
|
||||
@@ -10,13 +10,13 @@ from tgbot.utils.const_functions import get_unix, ded
|
||||
|
||||
# Модель таблицы
|
||||
class UserModel(BaseModel):
|
||||
increment: int
|
||||
user_id: int
|
||||
user_login: str
|
||||
user_name: str
|
||||
user_surname: str
|
||||
user_fullname: str
|
||||
user_unix: int
|
||||
increment: int # Инкремент записи
|
||||
user_id: int # Айди пользователя
|
||||
user_login: str # Юзернейм пользователя
|
||||
user_name: str # Имя пользователя
|
||||
user_surname: str # Фамилия пользователя
|
||||
user_fullname: str # Полное имя + фамилия пользователя
|
||||
user_unix: int # Дата регистрации пользователя в боте (в UNIX времени)
|
||||
|
||||
|
||||
# Работа с юзером
|
||||
|
||||
@@ -10,7 +10,7 @@ from cachetools import TTLCache
|
||||
|
||||
# Антиспам
|
||||
class ThrottlingMiddleware(BaseMiddleware):
|
||||
def __init__(self, default_rate: Union[int, float] = 1) -> None:
|
||||
def __init__(self, default_rate: Union[int, float] = 0.5) -> None:
|
||||
self.default_rate = default_rate
|
||||
|
||||
self.users = TTLCache(maxsize=10_000, ttl=600)
|
||||
|
||||
@@ -12,7 +12,7 @@ router = Router(name=__name__)
|
||||
# @router.errors(ExceptionTypeFilter(TelegramForbiddenError))
|
||||
# class MyHandler(ErrorHandler):
|
||||
# async def handle(self):
|
||||
# pass
|
||||
# ...
|
||||
|
||||
|
||||
# Ошибка с редактированием одинакового сообщения
|
||||
|
||||
@@ -27,4 +27,4 @@ async def set_commands(bot: Bot):
|
||||
try:
|
||||
await bot.set_my_commands(admin_commands, scope=BotCommandScopeChat(chat_id=admin))
|
||||
except:
|
||||
pass
|
||||
...
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
from aiogram import Bot
|
||||
from aiogram.types import FSInputFile
|
||||
|
||||
from tgbot.data.config import get_admins, PATH_DATABASE, start_status
|
||||
from tgbot.data.config import get_admins, PATH_DATABASE, BOT_STATUS_NOTIFICATION
|
||||
from tgbot.utils.const_functions import get_date, send_admins
|
||||
|
||||
|
||||
# Выполнение функции после запуска бота (рассылка админам о запуске бота)
|
||||
async def startup_notify(bot: Bot):
|
||||
if len(get_admins()) >= 1 and start_status:
|
||||
if len(get_admins()) >= 1 and BOT_STATUS_NOTIFICATION:
|
||||
await send_admins(bot, "<b>✅ Bot was started</b>")
|
||||
|
||||
|
||||
@@ -22,4 +22,4 @@ async def autobackup_admin(bot: Bot):
|
||||
caption=f"<b>📦 #AUTOBACKUP | <code>{get_date()}</code></b>",
|
||||
)
|
||||
except:
|
||||
pass
|
||||
...
|
||||
|
||||
Reference in New Issue
Block a user