{"id":15203984,"url":"https://github.com/luca683/telesummary","last_synced_at":"2026-03-11T00:03:21.370Z","repository":{"id":250294806,"uuid":"833995782","full_name":"Luca683/TeleSummary","owner":"Luca683","description":"Telegram Bot that summarizes messages in a telegram group.","archived":false,"fork":false,"pushed_at":"2024-08-30T09:14:24.000Z","size":1663,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T22:01:45.215Z","etag":null,"topics":["docker","elasticsearch","fluentd","huggingface-transformers","kafka","kibana","machine-learning","spark","telegram","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Luca683.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-26T07:49:13.000Z","updated_at":"2024-08-30T09:14:27.000Z","dependencies_parsed_at":"2024-08-02T11:30:54.975Z","dependency_job_id":"f2be30df-86a8-465f-b861-b52878d75ec9","html_url":"https://github.com/Luca683/TeleSummary","commit_stats":{"total_commits":21,"total_committers":2,"mean_commits":10.5,"dds":0.04761904761904767,"last_synced_commit":"e43927da62c2c5ac345579b791f094bceb446217"},"previous_names":["luca683/teletranslate","luca683/telesummary"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luca683%2FTeleSummary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luca683%2FTeleSummary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luca683%2FTeleSummary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luca683%2FTeleSummary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Luca683","download_url":"https://codeload.github.com/Luca683/TeleSummary/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238768420,"owners_count":19527197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","elasticsearch","fluentd","huggingface-transformers","kafka","kibana","machine-learning","spark","telegram","telegram-bot"],"created_at":"2024-09-28T05:04:44.894Z","updated_at":"2025-10-29T04:31:35.004Z","avatar_url":"https://github.com/Luca683.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TeleSummary\n\nTeleSummary is a telegram bot that summarizes all the messages that are sent by various users in a Telegram group.\n\n## Application goals\n\n\nEspecially in the workplace, Telegram has become one of the most used messaging systems among teams, so a system like TeleSummary could help large organizations with distributed work teams monitor internal communications and make decisions about them more quickly.\n\n\n## Technologies \n\n\n- Data source: **[python-telegram-bot](https://python-telegram-bot.org/)**.\n\n- Data ingestion: **[Fluentd](https://www.fluentd.org/)**.\n\n- Data streaming: **[Kafka](https://kafka.apache.org/)**.\n\n- Centralized Service: **[Zookeeper](https://zookeeper.apache.org/)**.\n\n- Data Processing: **[Apache Spark](https://spark.apache.org/)**.\n\n- Data Indexing: **[Elasticsearch](https://www.elastic.co/elasticsearch)**.\n\n- Data Visualization: **[Kibana](https://www.elastic.co/kibana)**.\n\n\n## Project pipeline\n![Pipeline](presentation/images/pipeline.png)\n\n\n## Project setup\n\n### Requirements\n- [Docker](https://www.docker.com/)\n- Docker Compose\n- Telegram Bot: place the bot token inside a .env file in the root directory:\n```\nMY_TOKEN = insertyourtoken\n```\n### Downloads\n- Kafka: download from this [link](https://downloads.apache.org/kafka/3.6.2/kafka_2.13-3.6.2.tgz) and put it in kafka/setup directory.\n- Spark: download from this [link](https://dlcdn.apache.org/spark/spark-3.4.3/spark-3.4.3-bin-hadoop3.tgz) and put it in spark/setup directory.\n\n\n### Application launch\n\n1. Create container virtual network:\n\n```\n$ docker network create --subnet=10.0.100.0/24 tap\n```\n\n2. Launch app:\n\n```\n$ docker compose up\n```\n\n\n### Results\n\nHere is services IP table:\n\n| Container     | URL                                        | Description                                     |\n| ------------- | ------------------------------------------ | ----------------------------------------------- |\n| Kafka UI      | http://localhost:8080                      | Open kafka UI to monitor Kafka Topics           |\n| Elasticsearch | http://localhost:9200                      | Open Elasticsearch to manage indexes            |\n| Kibana        | http://localhost:5601                      | Open Kibana to view data and create a dashboard |\n\nThese are my visualizations:\n![Kibana table](presentation/images/summary-table-kibana.png)\n\n![kibana dashboard](presentation/images/dashboard-kibana.png)\n\nTo import the same:\n- Open [Kibana](localhost:5601).\n- Go to \"Stack Management\" and after go to \"Saved Objects\".\n- Import from file.\n- Choose kibana/Dashboard_TAP.ndjson\n\n# Author\nTeleSummary has been developed by Luca Strano, Computer Science student at Department of Mathematics and Computer Science, University of Catania, for the \"Technologies for Advanced Programming\" course.\n\nEmail: stranoluca469955@gmail.com","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluca683%2Ftelesummary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluca683%2Ftelesummary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluca683%2Ftelesummary/lists"}