{"id":16088489,"url":"https://github.com/zensonaton/telehooper","last_synced_at":"2025-04-05T16:11:42.209Z","repository":{"id":60070174,"uuid":"486275445","full_name":"Zensonaton/Telehooper","owner":"Zensonaton","description":"Telegram-бот, позволяющий получать сообщения из различных сервисов.","archived":false,"fork":false,"pushed_at":"2024-02-08T11:17:15.000Z","size":2281,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"rewrite","last_synced_at":"2025-02-11T12:45:08.839Z","etag":null,"topics":["bot","python","telegram","telegram-bot"],"latest_commit_sha":null,"homepage":"https://t.me/telehooper_bot","language":"Python","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/Zensonaton.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":"2022-04-27T16:44:30.000Z","updated_at":"2023-08-22T15:35:19.000Z","dependencies_parsed_at":"2023-10-05T17:42:16.749Z","dependency_job_id":"5dcf38b9-de31-45e0-b87e-091be36955b0","html_url":"https://github.com/Zensonaton/Telehooper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zensonaton%2FTelehooper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zensonaton%2FTelehooper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zensonaton%2FTelehooper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zensonaton%2FTelehooper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zensonaton","download_url":"https://codeload.github.com/Zensonaton/Telehooper/tar.gz/refs/heads/rewrite","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361697,"owners_count":20926643,"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":["bot","python","telegram","telegram-bot"],"created_at":"2024-10-09T13:36:41.294Z","updated_at":"2025-04-05T16:11:42.178Z","avatar_url":"https://github.com/Zensonaton.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Telehooper\n\n![Лого бота Telehooper](resources/logo.png)\n\n[Telehooper - это Telegram-бот](https://t.me/telehooper_bot) для подключения различных сервисов для получения и/ли отправки сообщений.\n\nДополнительная информация по боту доступна на сайте \u003chttp://telehooper.com\u003e.\n\n## Инструкции по установке и запуску бота\n\n\u003e [!NOTE]\n\u003e Если Вы просто хотите воспользоваться ботом, то Вы можете написать [@telehooper_bot в Telegram](https://t.me/telehooper_bot).\n\nЛюбой пользователь бота имеет полное право запустить бота локально: будь то для разработки или личного использования. Если Вы планируете запустить бота для личного использования, то, пожалуйста, не делайте его «публичным», давая доступ к «личной» версии бота другим пользователям; поддержите разработчика бота, поделившись публичным ботом, `@telehooper_bot`.\n\n1. Вам необходимо установить и настроить базу данных [CouchDB](https://couchdb.apache.org/). В случае, если Вы используете Docker, то Вы можете запустить БД как контейнер:\n\n   ```bash\n   sudo docker run -d --name couchdb --restart=always -p 5984:5984 -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=p@$$w0rd! couchdb:latest\n   ```\n\n   Вместо `p@$$w0rd!`, очевидно, стоит установить более длинный и изощрённый пароль, поскольку этим паролем Вы будете заходить как Администратор БД.\n\n   Запустив БД, Вы можете попасть в панель Администратора, зайдя на \u003chttp://localhost:5984/_utils/\u003e. Авторизуйтесь на странице, введя данные, которые Вы передали при запуске контейнера (поля `COUCHDB_USER` и `COUCHDB_PASSWORD`).\n\n   Перед Вами будет пустой список баз данных. Вам необходимо создать отдельного пользователя БД, который будет использоваться для бота Telehooper. Для этого, нажмите на кнопку \"Create Database\", и в поле \"database-name\" введите `_users`. Ничего не меняя, нажмите на \"Create\". Откройте новосозданную БД \"_users\".\n\n   Нажмите на \"Create Document\", введя туда следующее:\n\n   ```json\n   {\n       \"_id\": \"org.couchdb.user:telehooper\",\n       \"name\": \"telehooper\",\n       \"password\": \"p@$$w0rd!\",\n       \"roles\": [],\n       \"type\": \"user\"\n   }\n   ```\n\n   Нажав на \"Create Document\", Вы создадите пользователя `telehooper` с паролем `p@$$w0rd!`.\n\n   Теперь Вам необходимо создать БД `telehooper-bot`. Для этого обратитесь к списку БД, и нажмите на \"Create Database\". Введите туда `telehooper-bot`, и, опять же, ничего не меняя, нажмите на \"Create\".\n\n   Вы создали БД `telehooper-bot`. Теперь Вам необходимо дать пользователю `telehooper` доступ к данной БД, для этого нажмите на \"Permissions\", и в разделе Admins -\u003e Users, введите в текстовое поле \"Username\" пользователя `telehooper`, нажав после этого на кнопку \"Add User\".\n\n2. Создайте Telegram-бота у [@BotFather](https://t.me/botfather).\n\n   Обратитесь к официальному боту для создания и управления Telegram-ботами [@BotFather](https://t.me/botfather). Прописав команду `/newbot`, проследуйте инструкциям, создав бота.\n\n   После создания бота, BotFather выдаст токен, который выглядит примерно так: `12345678:abcdef...`. Этот токен необходимо сохранить.\n3. Загрузите исходный код бота.\n\n   Для загрузки исходного кода бота нужно прописать следующие команды:\n\n   ```bash\n   git clone https://github.com/Zensonaton/Telehooper.git\n   cd Telehooper\n   ```\n\n4. Создайте `.env`-файл с конфигурацией в папке с ботом. Примерное его содержимое:\n\n   ```env\n   telegram_token=12345678:abcdef...\n   couchdb_name=test\n   couchdb_user=test\n   couchdb_password=test\n   token_encryption_key=abcdefg123456789\n   ```\n\n   \u003e [!WARNING]\n   \u003e Вероятнее всего, данный пункт не будет отображать актуальное содержимое файла `.env`. Рекомендуется обратиться к файлу [config.py](src/config.py), поскольку в нём расположены все поля для `.env`-файла, вместе с их подробными описаниями.\n\n5. Установите [Python как минимум 3.10 версии](https://www.python.org/).\n6. Установите зависимости для Telehooper'а:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n7. Запустите бота:\n\n   ```python\n   python src/main.py\n   ```\n\n### (Опционально) Запустите Local Bot API\n\nПубличный API для работы с ботами Telegram, Bot API, [имеет ограничения на размер скачиваемых и отправляемых файлов в 20 и 50 МБ](https://core.telegram.org/bots/faq#how-do-i-upload-a-large-file). Что бы обойти это ограничение, можно запустить локальную версию Bot API которую зовут Local Bot API. Настроив Local Bot API, и подключив его к Telehooper'у, Вы сможете увеличить лимит до 250 МБ.\n\n1. Создайте Telegram-приложение. Сделать это можно на \u003chttps://my.telegram.org/\u003e, нажав на \"API development tools\". Создав приложение, скопируйте поля `api_id` и `api_hash`.\n2. Создайте файл `docker-compose.yml` со следующими полями:\n\n   ```yml\n   version: \"3.8\"\n\n   services:\n      telegram-bot-api:\n         image: aiogram/telegram-bot-api:latest\n         environment:\n            TELEGRAM_API_ID: \"...\"\n            TELEGRAM_API_HASH: \"...\"\n            TELEGRAM_LOCAL: Yes\n\n         volumes:\n            - telegram-bot-api-data:/var/lib/telegram-bot-api\n         ports:\n            - \"8081:8081\"\n            - \"8082:8082\"\n         restart: unless-stopped\n\n   nginx:\n      image: nginx:latest\n      volumes:\n         - telegram-bot-api-data:/telegram-bot-api-data\n         - ./nginx.conf:/etc/nginx/conf.d/default.conf\n      ports:\n         - \"8080:8080\"\n      restart: unless-stopped\n\n   volumes:\n      telegram-bot-api-data:\n         external: true\n   ```\n\n   Не забудьте заменить поля `TELEGRAM_API_ID` и `TELEGRAM_API_HASH`.\n\n3. Создайте файл `nginx.conf` со следующим содержанием:\n\n   ```conf\n   server {\n      listen 8080;\n\n      server_name localhost;\n      client_max_body_size 1500m;\n\n      location / {\n         rewrite ^.*telegram-bot-api(.*)$ /$1 last;\n         root /telegram-bot-api-data/;\n         index index.html;\n         try_files $uri $uri/ =404;\n      }\n\n      error_page 500 502 503 504 /50x.html;\n      location = /50x.html {\n         root /usr/share/nginx/html;\n      }\n   }\n   ```\n\n4. Запустите Docker-контейнер:\n\n   ```bash\n   docker compose up -d\n   ```\n\n5. Укажите URL Local Bot API в `.env`-файле бота:\n\n   ```env\n   telegram_local_api_url=http://localhost:8081\n   telegram_local_file_url=http://localhost:8080\n   ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzensonaton%2Ftelehooper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzensonaton%2Ftelehooper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzensonaton%2Ftelehooper/lists"}