{"id":19349368,"url":"https://github.com/koldim2001/tg_bot_kafka","last_synced_at":"2025-04-13T02:35:23.858Z","repository":{"id":241363941,"uuid":"806581479","full_name":"Koldim2001/tg_bot_kafka","owner":"Koldim2001","description":"Телеграмм бот, отправляющий в чаты сообщения, приходящие в kafka","archived":false,"fork":false,"pushed_at":"2024-12-25T18:09:18.000Z","size":14,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T20:05:20.435Z","etag":null,"topics":["aiogram","aiogram-bot","docker","docker-compose","dotenv","kafka","kafka-consumer","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/Koldim2001.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-05-27T13:23:15.000Z","updated_at":"2024-12-25T18:09:21.000Z","dependencies_parsed_at":"2024-05-28T01:17:44.170Z","dependency_job_id":"5aeeca41-ea1b-43af-8626-a455a3ed7b71","html_url":"https://github.com/Koldim2001/tg_bot_kafka","commit_stats":null,"previous_names":["koldim2001/tg_bot_kafka"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koldim2001%2Ftg_bot_kafka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koldim2001%2Ftg_bot_kafka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koldim2001%2Ftg_bot_kafka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koldim2001%2Ftg_bot_kafka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Koldim2001","download_url":"https://codeload.github.com/Koldim2001/tg_bot_kafka/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248657851,"owners_count":21140843,"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":["aiogram","aiogram-bot","docker","docker-compose","dotenv","kafka","kafka-consumer","telegram-bot"],"created_at":"2024-11-10T04:25:57.057Z","updated_at":"2025-04-13T02:35:23.830Z","avatar_url":"https://github.com/Koldim2001.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Телеграмм бот, отправляющий сообщения из Kafka\n\nЭтот бот выступает в качестве консьюмера Kafka топиков и отправляет сообщения в желаемые чаты, обеспечивая своевременную доставку информации. Он упрощает управление алертами и может функционировать как риалтайм отправитель сообщений, передающий важную информацию из других сервисов вашего микросервисного приложения.\n\nИтоговый бот был собран и залит на докерхаб. Готовый образ можно стянуть следующей командой: `docker pull koldim2001/tg_bot_kafka:1.0`\n\nКонтейнер с ботом в вашем проекте может стать одним из сервисов, который можно будет удобно подключить в docker-compose.yaml\n\nПример докер компоуз файла, содержащего все необходимые иструменты (см файл [docker-compose.yaml](docker-compose.yaml) в репозитории), можно запустить данной командой:\n```\ndocker-compose -p test_kafka up -d\n```\nТолько перд запуском необходимо внести изменения в переменные окружения:\n\n```\n  tg_bot_kafka:\n    image: koldim2001/tg_bot_kafka:1.0\n    container_name: tg_bot_kafka\n    restart: always\n    depends_on:\n      - kafka\n    environment:\n      - BOT_TOKEN=??????????????????????????????\n      - CHAT_IDS=[\"?????????\"]\n      - KAFKA_BOOTSTRAP_SERVERS=kafka:29092\n      - KAFKA_TOPIC=tg_bot_data\n      - JSON_TO_YAML=TRUE\n```\n\nПример необходимых переменных окружения для запуска проекта:\n\n\n| Переменная окружения | Описание | Пример задания |\n| --- | --- | --- |\n| `BOT_TOKEN` | Токен бота, используемый для аутентификации в Telegram API. | `BOT_TOKEN=12345:ABCDEFGHIJKLMNOPQ` |\n| `CHAT_IDS` | Список идентификаторов чатов, в которые бот будет отправлять сообщения. | `CHAT_IDS=[\"111111\",\"222222\"]` |\n| `KAFKA_BOOTSTRAP_SERVERS` | Сервер Kafka, к которому будет подключаться бот для чтения сообщений. | `KAFKA_BOOTSTRAP_SERVERS=kafka:29092` |\n| `KAFKA_TOPIC` | Топик Kafka, из которого бот будет читать сообщения. | `KAFKA_TOPIC=tg_bot_data` |\n| `JSON_TO_YAML` | Флаг, определяющий, будут ли JSON сообщения преобразовываться в более читабельный вид перед отправкой в Telegram. Если `TRUE`, то сообщения будут преобразованы. Если `FALSE`, то сообщения будут отправлены ровно так, как и были посланы в Kafka. | `JSON_TO_YAML=TRUE` |\n\nЧтобы узнать chat_id, необходимо после запуска компоуза добавить бота в желаемый чат и отправить в команду ```/info```. Бот выведет номер чата. Этот номер необходимо будет указать в переменных окружения перед запуском docker compose. \n\nПомимо этого есть еще вариант Как узнать идентификатор chat_id без бота и кода - [ссылка](https://pikabu.ru/story/kak_uznat_identifikator_telegram_kanalachatagruppyi_kak_uznat_chat_id_telegram_bez_botov_i_koda_11099278)\n\n---\n\nДля тестирования работоспособности бота можно открыть джупитер ноутбук [simple_producer.ipynb](simple_producer.ipynb) и с помощью него создать топик и отправить сообщения в kafka (ноутбук выступает в качествае kafka producer)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoldim2001%2Ftg_bot_kafka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoldim2001%2Ftg_bot_kafka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoldim2001%2Ftg_bot_kafka/lists"}