{"id":25881387,"url":"https://github.com/alvarogzp/clock-bot","last_synced_at":"2025-06-15T00:04:02.585Z","repository":{"id":46642238,"uuid":"105734324","full_name":"alvarogzp/clock-bot","owner":"alvarogzp","description":"🌍 🕒 World Clock 🕘 🌎: Telegram bot to get the current time of any place in the world","archived":false,"fork":false,"pushed_at":"2025-01-31T04:14:20.000Z","size":744,"stargazers_count":17,"open_issues_count":21,"forks_count":5,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-01-31T05:19:57.168Z","etag":null,"topics":["bot","clock","clock-bot","python","python3","telegram","telegram-bot","telegram-bot-api","telegram-bot-framework","world","worldclock","worldtime"],"latest_commit_sha":null,"homepage":"https://t.me/ClockBot","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alvarogzp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-10-04T05:21:16.000Z","updated_at":"2024-11-04T02:29:42.000Z","dependencies_parsed_at":"2025-01-31T05:29:14.296Z","dependency_job_id":null,"html_url":"https://github.com/alvarogzp/clock-bot","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvarogzp%2Fclock-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvarogzp%2Fclock-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvarogzp%2Fclock-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvarogzp%2Fclock-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alvarogzp","download_url":"https://codeload.github.com/alvarogzp/clock-bot/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241523877,"owners_count":19976424,"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","clock","clock-bot","python","python3","telegram","telegram-bot","telegram-bot-api","telegram-bot-framework","world","worldclock","worldtime"],"created_at":"2025-03-02T14:38:37.509Z","updated_at":"2025-03-02T14:38:38.047Z","avatar_url":"https://github.com/alvarogzp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [🌍 🕒 World Clock 🕘 🌎](https://t.me/ClockBot)\n\nThis repository contains the source code of [@ClockBot](https://t.me/ClockBot),\na telegram bot that allows to get the current time of any place in the world.\n\n\n## Usage\n\nThe bot works in [inline mode](https://core.telegram.org/bots/inline),\nso you can use it in any chat or group without having to add the bot to it.\n\nTo use it, you must write a message on the chat where you would like to use it.\nThe message must start with an `@` character followed by the bot name (`ClockBot`).\nThen add an empty space and you will start immediately seeing the current times\nin your country (based on the locale telegram sends to us).\n\nYou can tap on any of the results to send it to the current chat.\n\nIf you want to get the current time of any other place, just type (after the `@ClockBot ` part)\nthe country name, the time-zone location or the time-zone name and you will see the times\nthat matches it.\n\nResults are always displayed in the language that Telegram tells to us that you are currently using\n(usually, your device or OS language).\nAlso, the search is also performed on that same language, so you must write the countries and\nlocations in your language for them to be correctly recognized.\n\nThe language exceptions are:\n  - The country codes that you can type to get all current times\n    in them (eg. `US`, `ES`, `DE`).\n    They are universal, so they are not translated.\n  - The time-zone identifiers (eg. `America/New_York`, `Europe/Madrid`).\n    They must be writen as they are defined by the standard, that is, in English.\n\n\n## Configuration\n\nIf you want to run your own bot instance,\nthe telegram-bot-framework requires a few configuration options\nthat must be set before running it (like the auth token and admin user).\n\nPlease, refer to the [telegram-bot-framework configuration section](https://github.com/alvarogzp/telegram-bot-framework#configuration)\nto set them.\n\nThere are also configuration options specific to this bot.\nThey are optional and if not specified their default values are used.\nThey must be defined along with telegram-bot-framework configuration options (ie. in the same directory).\nThe recognised options are:\n - `enable_countries`, which, if defined and not empty, will make the bot return a 'country' as the first result with all country time zones when a country code is specified. By default, it is disabled.\n - `locales_to_cache_on_startup`, that can have a space-separated or newline-separated list of locale codes to be cached on startup. By default, `en_US` and `es_ES` locales are cached.\n - `min_query_workers`, with the number of minimum workers that must be always ready to process inline requests. By default, 1 worker is always ready.\n - `max_query_workers`, with the number of maximum workers that can be spawned to process inline requests under heavy load situations. By default, 8 workers are allowed.\n - `recent_locales_limit`, can be an integer specifying the maximum number of locales most recently used in queries that should be cached on startup. This number does not take into account the locales specified in `locales_to_cache_on_startup`. By default, the 10 most recent locales are cached.\n\nOnce configured, you can run the `main.py` file directly, or the\n`run.sh` script that will set-up a virtual environment and install\nall dependencies before running the bot.\n\n\n## Architecture\n\nThis bot uses the [**telegram-bot-framework**](https://github.com/alvarogzp/telegram-bot-framework).\nThe code that integrates with it is in the [`clock.bot`](clock/bot) package.\nOther frameworks may be added in the future.\n\nThe [`clock.finder`](clock/finder) package contains the search component of the bot.\nIt has several search strategies that are used based on the type of query received and the user locale.\n\n\n## Developed by\n\n- Alvaro Gutierrez Perez\n  - alvarogzp@gmail.com\n  - https://linkedin.com/in/alvarogzp\n\n\n## Donations\n\nIf you find this project useful and want to support its development economically, you can do so at any of the following addresses:\n\n - Bitcoin: **[3KfpVvfAHYbzjnaqNHRrZ6zAzFG8cfgkEA](bitcoin:3KfpVvfAHYbzjnaqNHRrZ6zAzFG8cfgkEA)**\n\nPlease, contact the authors identifying yourself after donating, so that we can thank you.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvarogzp%2Fclock-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falvarogzp%2Fclock-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvarogzp%2Fclock-bot/lists"}