`
@router.message(Command('memorize'), IsChat(['группа', 'супергруппа', 'чат', 'канал']), IsAdmin(admin_id))
async def memorize_handler(message: Message) -> None:
reply = message. ответить_на_сообщение
если не ответить:
ожидайте сообщение.ответ("⚙ Не могу найти пользователя")
возврат
Код: Выделить всё
text = reply.text
if reply.from_user.username:
username = reply.from_user.username
else:
username = reply.from_user.full_name
try:
user_id = reply.from_user.id
mention = reply.from_user.mention_html(reply.from_user.first_name)
memory_id = str(uuid.uuid4())
memorize(memory_id=memory_id, text=text, username=username, user_id=user_id)
await message.answer(f'💾 Succesfully saved message from {mention}')
except:
await message.answer(f'❗ Couldnt save message from {mention}')
Код фильтра здесь:
`
класс IsChat(BaseFilter):< /p>
Код: Выделить всё
def __init__(self, chat_type: str | List[str]) -> None:
self.chat_type = chat_type
async def __call__(self, message: Message) -> bool:
if isinstance(self.chat_type, str):
return message.chat.type == self.chat_type
return message.chat.type in self.chat_type
Проблема в том, что когда вы вызываете бота из канала-чата - он почему-то не обрабатывает обновления.
Однако бот по-прежнему работает в приватных чатах, группах и супергруппах.
Я уже пробовал расширить фильтр IsChat с помощью «канала» и «чата», но не получилось
Подробнее здесь: https://stackoverflow.com/questions/787 ... l-comments