Первый полностью рабочий функционал

This commit is contained in:
Григорич 2022-03-04 22:19:51 +03:00
parent 7c151a4077
commit 6bfe00c234
7 changed files with 29 additions and 23 deletions

View File

@ -1,6 +0,0 @@
# ЭТО ПРИМЕР ФАЙЛА .env !! ВАМ НАДО ЭТОТ ФАЙЛ ПЕРЕИМЕНОВАТЬ И ВСТАВИТЬ ТУДА ЗНАЧЕНИЯ.
# ЭТИ КОММЕНТАРИИ НАДО УДАЛИТЬ!
ADMINS=12345678,12345677,12345676
BOT_TOKEN=123452345243:Asdfasdfasf
ip=localhost

View File

@ -1,9 +1,9 @@
from aiogram import Dispatcher from aiogram import Dispatcher
from loader import dp from loader import dp
# from .is_admin import AdminFilter from .group_chat import IsGroup
if __name__ == "filters": if __name__ == "filters":
# dp.filters_factory.bind(AdminFilter) dp.filters_factory.bind(IsGroup)
pass pass

9
filters/group_chat.py Normal file
View File

@ -0,0 +1,9 @@
from aiogram import types
from aiogram.dispatcher.filters import BoundFilter
class IsGroup(BoundFilter):
async def check(self, message: types.Message) -> bool:
return message.chat.type in (
types.ChatType.GROUP,
types.ChatType.SUPERGROUP
)

View File

@ -1,5 +1,6 @@
from . import errors
from . import users
from . import groups from . import groups
from . import channels from . import channels
from . import errors
from . import users

View File

@ -0,0 +1 @@
from . import chat

12
handlers/groups/chat.py Normal file
View File

@ -0,0 +1,12 @@
from aiogram import types
from aiogram.dispatcher import FSMContext
from filters import IsGroup
from loader import dp
@dp.message_handler(IsGroup(), content_types=types.ContentTypes.ANY)
async def bot_echo_all(message: types.Message, state: FSMContext):
if message.sender_chat is not None:
await message.delete()

View File

@ -5,17 +5,6 @@ from loader import dp
# Эхо хендлер, куда летят текстовые сообщения без указанного состояния # Эхо хендлер, куда летят текстовые сообщения без указанного состояния
@dp.message_handler(state=None) @dp.message_handler()
async def bot_echo(message: types.Message): async def bot_echo(message: types.Message):
await message.answer(f"Эхо без состояния." await message.answer(f"Просто добавь меня в чат и я начну удалять сообщения от каналов!")
f"Сообщение:\n"
f"{message.text}")
# Эхо хендлер, куда летят ВСЕ сообщения с указанным состоянием
@dp.message_handler(state="*", content_types=types.ContentTypes.ANY)
async def bot_echo_all(message: types.Message, state: FSMContext):
state = await state.get_state()
await message.answer(f"Эхо в состоянии <code>{state}</code>.\n"
f"\nСодержание сообщения:\n"
f"<code>{message}</code>")