mirror of
https://gitflic.ru/project/alt-gnome/karkas.git
synced 2025-10-08 21:53:15 +03:00
fix: add tmp chat_member handler
This commit is contained in:
@@ -148,7 +148,14 @@ class SpamDetectionMiddleware(BaseMiddleware):
|
||||
if not verified_users_row["verified"]:
|
||||
if event.text:
|
||||
is_spam, confidence = spam_predict(event.text)
|
||||
log(f"{event.text} is {is_spam} with confidence {confidence}")
|
||||
|
||||
log(
|
||||
"message spam confidence",
|
||||
trace_id=data["trace_id"],
|
||||
is_spam=is_spam,
|
||||
confidence=confidence,
|
||||
)
|
||||
|
||||
if is_spam:
|
||||
if confidence >= config.get(
|
||||
"spam::spam_detection::confidence"
|
||||
@@ -165,6 +172,11 @@ class SpamDetectionMiddleware(BaseMiddleware):
|
||||
== f"{event.chat.id}-{event.from_user.id}",
|
||||
)
|
||||
|
||||
log(
|
||||
"user is not spammer anymore",
|
||||
trace_id=data["trace_id"],
|
||||
)
|
||||
|
||||
result = await handler(event, data)
|
||||
|
||||
return result
|
||||
@@ -180,8 +192,10 @@ class ChatMemberMiddleware(BaseMiddleware):
|
||||
event: "ChatMemberUpdated",
|
||||
data: Dict[str, Any],
|
||||
) -> Any:
|
||||
log("chat member middleware - start")
|
||||
|
||||
if await joinFilter(event):
|
||||
log("chat member join")
|
||||
try:
|
||||
await VerifiedUsers.insert(
|
||||
VerifiedUsers(
|
||||
@@ -194,6 +208,8 @@ class ChatMemberMiddleware(BaseMiddleware):
|
||||
except Exception as e:
|
||||
log(str(e))
|
||||
|
||||
log("chat member middleware - ok")
|
||||
|
||||
result = await handler(event, data)
|
||||
return result
|
||||
|
||||
@@ -215,6 +231,7 @@ def module_init():
|
||||
register_outer_chat_member_middleware(ChatMemberMiddleware())
|
||||
|
||||
register_app_config = get_module("standard.database", "register_app_config")
|
||||
|
||||
SimpleAdminFilter: "Type[ISimpleAdminFilter]" = get_module(
|
||||
"standard.filters", "SimpleAdminFilter"
|
||||
)
|
||||
@@ -225,6 +242,11 @@ def module_init():
|
||||
|
||||
router = Router()
|
||||
|
||||
def tmp(event):
|
||||
pass
|
||||
|
||||
router.chat_member.register(tmp)
|
||||
|
||||
router.message.register(
|
||||
delete_spam_by_request, SimpleAdminFilter(), Command("spam")
|
||||
)
|
||||
|
@@ -1,3 +1,4 @@
|
||||
import uuid
|
||||
from typing import TYPE_CHECKING, Any, Awaitable, Callable, Dict
|
||||
|
||||
from aiogram import BaseMiddleware
|
||||
@@ -9,7 +10,7 @@ if TYPE_CHECKING:
|
||||
|
||||
from karkas_blocks.standard.config import IConfig
|
||||
|
||||
from karkas_core.modules_system.public_api import get_module
|
||||
from karkas_core.modules_system.public_api import get_module, log
|
||||
|
||||
config: "IConfig" = get_module("standard.config", "config")
|
||||
|
||||
@@ -69,9 +70,19 @@ class StatisticsMiddleware(BaseMiddleware):
|
||||
async def __call__(
|
||||
self,
|
||||
handler: Callable[["TelegramObject", Dict[str, Any]], Awaitable[Any]],
|
||||
event: "TelegramObject",
|
||||
event: "Message",
|
||||
data: Dict[str, Any],
|
||||
) -> Any:
|
||||
trace_id = str(uuid.uuid4())
|
||||
|
||||
log(
|
||||
"new message recieved",
|
||||
trace_id=trace_id,
|
||||
chat_id=event.chat.id,
|
||||
message_text=event.text,
|
||||
)
|
||||
|
||||
data["trace_id"] = trace_id
|
||||
|
||||
await update_chat_stats(event)
|
||||
await update_user_stats(event)
|
||||
|
18
src/karkas_blocks/poetry.lock
generated
18
src/karkas_blocks/poetry.lock
generated
@@ -1,4 +1,4 @@
|
||||
# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
|
||||
# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand.
|
||||
|
||||
[[package]]
|
||||
name = "aiofiles"
|
||||
@@ -1438,6 +1438,20 @@ files = [
|
||||
[package.dependencies]
|
||||
typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
|
||||
|
||||
[[package]]
|
||||
name = "python-json-logger"
|
||||
version = "3.2.1"
|
||||
description = "JSON Log Formatter for the Python Logging Package"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090"},
|
||||
{file = "python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec", "msgspec-python313-pre", "mypy", "orjson", "pylint", "pytest", "tzdata", "validate-pyproject[all]"]
|
||||
|
||||
[[package]]
|
||||
name = "pyyaml"
|
||||
version = "6.0.2"
|
||||
@@ -2311,4 +2325,4 @@ type = ["pytest-mypy"]
|
||||
[metadata]
|
||||
lock-version = "2.0"
|
||||
python-versions = ">=3.10,<3.13"
|
||||
content-hash = "e4c8f543df7eea0b8410cb3ef189099ce1ea14082051fa40c96ce7f4ce3e0513"
|
||||
content-hash = "a1fd839181bf4b4f84df4ec18be43b4a78e2b0292a3d421bd0974ae3bd4f49fa"
|
||||
|
@@ -19,6 +19,7 @@ dash-bootstrap-components = "^1.6.0"
|
||||
|
||||
torch = { version = "^2.0", source="pytorch-cpu" }
|
||||
transformers = "^4.45.2"
|
||||
python-json-logger = "^3.2.1"
|
||||
|
||||
[tool.poetry-monorepo.deps]
|
||||
enabled = true
|
||||
|
Reference in New Issue
Block a user