From cd60ec2d79546c5848e602b3097a0ee4ac4d58fa Mon Sep 17 00:00:00 2001 From: Mohammad Amin Date: Mon, 7 Oct 2024 11:20:46 +0330 Subject: [PATCH] feat: added telegram config! --- setup.py | 2 +- .../schemas/platform_configs/__init__.py | 1 + .../schemas/platform_configs/telegram.py | 82 +++++++++++++++++++ 3 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 tc_analyzer_lib/schemas/platform_configs/telegram.py diff --git a/setup.py b/setup.py index 6f17f9a..3d13102 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ setup( name="tc-analyzer-lib", - version="1.4.10", + version="1.4.11", author="Mohammad Amin Dadgar, TogetherCrew", maintainer="Mohammad Amin Dadgar", maintainer_email="dadgaramin96@gmail.com", diff --git a/tc_analyzer_lib/schemas/platform_configs/__init__.py b/tc_analyzer_lib/schemas/platform_configs/__init__.py index 745d58f..af5b823 100644 --- a/tc_analyzer_lib/schemas/platform_configs/__init__.py +++ b/tc_analyzer_lib/schemas/platform_configs/__init__.py @@ -1,3 +1,4 @@ # flake8: noqa from .discord import DiscordAnalyzerConfig from .discourse import DiscourseAnalyzerConfig +from .telegram import TelegramAnalyzerConfig diff --git a/tc_analyzer_lib/schemas/platform_configs/telegram.py b/tc_analyzer_lib/schemas/platform_configs/telegram.py new file mode 100644 index 0000000..acb19fa --- /dev/null +++ b/tc_analyzer_lib/schemas/platform_configs/telegram.py @@ -0,0 +1,82 @@ +from tc_analyzer_lib.schemas import ( + ActivityDirection, + ActivityType, + HourlyAnalytics, + RawAnalytics, +) +from tc_analyzer_lib.schemas.platform_configs.config_base import PlatformConfigBase + + +class TelegramAnalyzerConfig(PlatformConfigBase): + def __init__(self): + platform: str = "telegram" + resource_identifier: str = "chat_id" + hourly_analytics: list[HourlyAnalytics] = [ + HourlyAnalytics( + name="chat_messages", + type=ActivityType.ACTION, + member_activities_used=True, + rawmemberactivities_condition={}, + direction=ActivityDirection.EMITTER, + activity_name="message", + ), + HourlyAnalytics( + name="replier", + type=ActivityType.INTERACTION, + member_activities_used=False, + direction=ActivityDirection.RECEIVER, + ), + HourlyAnalytics( + name="replied", + type=ActivityType.INTERACTION, + member_activities_used=False, + direction=ActivityDirection.EMITTER, + ), + HourlyAnalytics( + name="mentioner", + type=ActivityType.INTERACTION, + member_activities_used=False, + direction=ActivityDirection.EMITTER, + ), + HourlyAnalytics( + name="mentioned", + type=ActivityType.INTERACTION, + member_activities_used=False, + direction=ActivityDirection.RECEIVER, + ), + HourlyAnalytics( + name="reacter", + type=ActivityType.INTERACTION, + member_activities_used=False, + direction=ActivityDirection.RECEIVER, + ), + HourlyAnalytics( + name="reacted", + type=ActivityType.INTERACTION, + member_activities_used=False, + direction=ActivityDirection.EMITTER, + ), + ] + + raw_analytics: list[RawAnalytics] = [ + RawAnalytics( + name="replied_per_acc", + type=ActivityType.INTERACTION, + member_activities_used=True, + direction=ActivityDirection.EMITTER, + ), + RawAnalytics( + name="mentioner_per_acc", + type=ActivityType.INTERACTION, + member_activities_used=True, + direction=ActivityDirection.EMITTER, + ), + RawAnalytics( + name="reacted_per_acc", + type=ActivityType.INTERACTION, + member_activities_used=True, + direction=ActivityDirection.EMITTER, + ), + ] + + super().__init__(platform, resource_identifier, hourly_analytics, raw_analytics)