{"id":44330044,"url":"https://github.com/codingsett/telepota","last_synced_at":"2026-02-11T09:09:10.998Z","repository":{"id":57473915,"uuid":"208368182","full_name":"codingsett/telepota","owner":"codingsett","description":"Python3 wrapper/library that simplifies telegram bot development. It supports both sync and asyncio methods of programming. Dive in and start making awesome bots!","archived":false,"fork":false,"pushed_at":"2024-07-12T00:49:40.000Z","size":3308,"stargazers_count":34,"open_issues_count":2,"forks_count":10,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-11-30T11:40:43.655Z","etag":null,"topics":["api-wrapper","chatbot","python3","telegram","telegram-bot","telegram-bot-api","telepot"],"latest_commit_sha":null,"homepage":"https://telepota.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codingsett.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2019-09-14T00:37:14.000Z","updated_at":"2025-06-18T14:34:21.000Z","dependencies_parsed_at":"2024-07-12T02:27:29.380Z","dependency_job_id":"d50108ee-3bad-4962-97dd-a1988cb0295c","html_url":"https://github.com/codingsett/telepota","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codingsett/telepota","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingsett%2Ftelepota","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingsett%2Ftelepota/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingsett%2Ftelepota/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingsett%2Ftelepota/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codingsett","download_url":"https://codeload.github.com/codingsett/telepota/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingsett%2Ftelepota/sbom","scorecard":{"id":298300,"data":{"date":"2025-08-11","repo":{"name":"github.com/codingsett/telepota","commit":"fbe5e67cb1962d5d759655f987420ce1d4556712"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T20:05:18.239Z","repository_id":57473915,"created_at":"2025-08-17T20:05:18.240Z","updated_at":"2025-08-17T20:05:18.240Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29330858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T06:13:03.264Z","status":"ssl_error","status_checked_at":"2026-02-11T06:12:55.843Z","response_time":97,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["api-wrapper","chatbot","python3","telegram","telegram-bot","telegram-bot-api","telepot"],"created_at":"2026-02-11T09:09:10.240Z","updated_at":"2026-02-11T09:09:10.990Z","avatar_url":"https://github.com/codingsett.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n*** Thanks for checking out this README Template. If you have a suggestion that would\n*** make this better, please fork the repo and create a pull request or simply open\n*** an issue with the tag \"enhancement\".\n*** Thanks again! Now go create something AMAZING! :D\n--\u003e\n\n\n\n\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\n\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/codingsett/telepota\"\u003e\n    \u003cimg src=\"logo.png\" alt=\"Logo\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eTelepota - an actively maintained python3 wrapper for the telegram BOT API.\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    This project aims to simplify telegram bot development using higher level classes and functions which are easy to \n    understand and implement. I took over development and maintenance from \u003ca href=\"https://github.com/nickoala\"\u003e\n    \u003cstrong\u003enickoala\u003c/strong\u003e\u003c/a\u003e who was the author of this beautiful project.\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://telepota.readthedocs.io\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/codingsett/telepota/issues/new\"\u003eReport  Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/codingsett/telepota/issues/new\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n## Table of Contents\n\n\n* [Getting Started](#getting-started)\n  * [Installation](#installation)\n* [Usage](#usage)\n* [Comparison Table](#comparison-table)\n* [Roadmap](#roadmap)\n* [Contributing](#contributing)\n* [License](#license)\n* [Acknowledgements](#acknowledgements)\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nThis project only supports python 3+, but for asyncio you are required to have python 3.5+\n\n\u003cp\u003e\u003cstrong\u003eIf you are previous telepot library user please uninstall it in your system before installing telepota. This is to prevent conflicts from happening while using this library.\u003c/strong\u003e\u003c/p\u003e\n\n### Installation\n\n1. You can install this library using pip\n```sh\npip install telepota --upgrade\n```\n1. You can install this library using easy install\n```sh\neasy_install telepota --upgrade\n```\n2. or you can install it from this repository\n```sh\ngit clone https://github.com/codingsett/telepota\ncd telepot\npython setup.py install\n```\n\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage\n\nLets dive into the code so that you can get a feel of what to expect.\n\n``````python\nimport sys\nimport time\nimport telepot\nfrom telepot.loop import MessageLoop\n\n#Namedtuple module contains different helper classes that help you pass the correct data required\n#by telegram bot api\nfrom telepot.namedtuple import InlineKeyboardMarkup, InlineKeyboardButton\n\n#this function catches all 'normal' messages from the bot. There are other helper functions such \n#on_poll_data that catches all reponses from actions performed on a poll\ndef on_chat_message(msg):\n    #telepot glance method extracts some useful data that you may require in different sections.\n    content_type, chat_type, chat_id = telepot.glance(msg)\n    \n    #keyboard made easily from a constructor class that we imported earlier.\n    keyboard = InlineKeyboardMarkup(inline_keyboard=[\n                   [InlineKeyboardButton(text='Press me', callback_data='press')],\n               ])\n    #This is how we send messages\n    bot.sendMessage(chat_id, 'Use inline keyboard', reply_markup=keyboard)\n\n#catches all inline_queries from the bot. Go to the documentation to read more.\ndef on_callback_query(msg):\n    query_id, from_id, query_data = telepot.glance(msg, flavor='callback_query')\n    print('Callback Query:', query_id, from_id, query_data)\n\n    bot.answerCallbackQuery(query_id, text='Got it')\n\nTOKEN = sys.argv[1]  # get token from command-line\n\n#we pass the token from botfather to the bot instance.\nbot = telepot.Bot(TOKEN)\n\n#Messageloop initiates polling for the bot.\nMessageLoop(bot, {'chat': on_chat_message,\n                  'callback_query': on_callback_query}).run_as_thread()\nprint('Listening ...')\n\n#make sure the bot runs forever.\nwhile 1:\n    time.sleep(10)\n``````\n\n\n_For more examples, please refer to the [Examples Folder](https://github.com/codingsett/telepota/tree/master/examples)_\n\n\u003c!-- COMPARISON TABLE --\u003e\n\n## Comparison\n\nThe following comparison of different libraries is purely subjective after using them for a while.\n\n➖ means am not sure whats going on there because i dont have adequate information.\n\n| Framework           \t| Async \t| Sync \t| Runtime    \t| Documentation \t| community \t| active \t| beginner-friendly \t|\n|---------------------\t|-------\t|------\t|------------\t|---------------\t|-----------\t|--------\t|-------------------\t|\n| telepota            \t| ✅     \t| ✅    \t| Python3+   \t| ✅             \t| small     \t| ✅      \t| ✅                 \t|\n| python-telegram-bot \t| ❌     \t| ✅    \t| Python3+   \t| ✅             \t| large     \t| ✅      \t| ❌                 \t|\n| pyTelegramBotAPI    \t| ❌     \t| ✅    \t| Python3+   \t| ➖             \t| medium    \t| ➖      \t| ✅                 \t|\n| aiogram             \t| ✅     \t| ❌    \t| python3.7+ \t| ✅             \t| medium    \t| ✅      \t| ✅                 \t|\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\n- [ ] Modify and improve test coverage.\n- [ ] Include github actions in the workflow.\n- [ ] Replace urllib with requests maybe.\n- [ ] Add more examples for new methods included for BOT API.\n- [x] Update telepot to latest BOT API version.\n\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nAll contributions are welcome and appreciated. A few guidelines you need to follow before contributing:\n\n1. Document your code(for self documenting code there is no need for unnecessary comments).\n2. Make sure the tests run properly.\n3. Create a pull request.\n\nI will update this guide with more details in order to provide a good base structure.\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\n\n\u003c!-- ACKNOWLEDGEMENTS --\u003e\n## Acknowledgements\nI would like to thank the original author \u003ca href=\"https://github.com/nickoala\"\u003e\n\u003cstrong\u003enickoala\u003c/strong\u003e\u003c/a\u003e for making this framework. I have been using it for 3yrs+ without any changes.\n\n\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/codingsett/telepota.svg?style=flat-square\n[contributors-url]: https://github.com/codingsett/telepota/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/codingsett/telepota.svg?style=flat-square\n[forks-url]: https://github.com/codingsett/telepota/network/members\n[stars-shield]: https://img.shields.io/github/stars/codingsett/telepota.svg?style=flat-square\n[stars-url]: https://github.com/codingsett/telepota/stargazers\n[issues-shield]: https://img.shields.io/github/issues/codingsett/telepota.svg?style=flat-square\n[issues-url]: https://github.com/codingsett/telepota/issues\n[license-shield]: https://img.shields.io/github/license/codingsett/telepota.svg?style=flat-square\n[license-url]: https://github.com/codingsett/telepota/blob/master/LICENSE.txt\n[product-screenshot]: images/screenshot.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodingsett%2Ftelepota","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodingsett%2Ftelepota","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodingsett%2Ftelepota/lists"}