protect bot

This commit is contained in:
bakatrouble 2023-04-14 11:24:20 +03:00
parent f5cce5b9bf
commit 3f3831bdba

13
main.py
View File

@ -7,6 +7,7 @@ from PIL import Image
import httpx
import redis.asyncio as aioredis
from aiogram import Bot, Dispatcher
from aiogram.dispatcher import filters
from aiogram.types import Message, ParseMode
from aiogram.utils import executor, exceptions
import dotenv
@ -22,6 +23,8 @@ logging.basicConfig(level=logging.INFO)
bot = Bot(token=os.environ['BOT_TOKEN'])
dp = Dispatcher(bot)
user_ids = os.environ['USERS'].split(',')
async def check_updates():
logging.warning('Waiting for lock...')
@ -99,7 +102,7 @@ async def check_updates():
logging.exception(e)
@dp.message_handler(commands=['add'])
@dp.message_handler(commands=['add'], filter=filters.IDFilter(chat_id=user_ids))
async def add_tag(msg: Message):
args = msg.get_args()
if not args:
@ -110,7 +113,7 @@ async def add_tag(msg: Message):
await msg.reply(f'Tags {args} added')
@dp.message_handler(regexp=r'^\/del_\S+$')
@dp.message_handler(regexp=r'^\/del_\S+$', filter=filters.IDFilter(chat_id=user_ids))
async def del_tag(msg: Message):
args = msg.text[5:]
if not args:
@ -126,7 +129,7 @@ async def del_tag(msg: Message):
await msg.reply(f'Tag {args} removed')
@dp.message_handler(commands=['del'])
@dp.message_handler(commands=['del'], filter=filters.IDFilter(chat_id=user_ids))
async def del_command(msg: Message):
args = msg.get_args()
if not args:
@ -137,7 +140,7 @@ async def del_command(msg: Message):
await msg.reply(f'Tags {args} removed')
@dp.message_handler(commands=['list'])
@dp.message_handler(commands=['list'], filter=filters.IDFilter(chat_id=user_ids))
async def list_tags(msg: Message):
tags = [t.decode() for t in await redis.smembers('e621:subs')]
tags.sort()
@ -155,7 +158,7 @@ async def list_tags(msg: Message):
await msg.reply(f'Monitored tags:\n\n{lines}')
@dp.message_handler(commands=['update'])
@dp.message_handler(commands=['update'], filter=filters.IDFilter(chat_id=user_ids))
async def update(msg: Message):
await check_updates()