{"id":13486693,"url":"https://github.com/JosXa/BotListBot","last_synced_at":"2025-03-27T21:30:46.593Z","repository":{"id":50187860,"uuid":"79861993","full_name":"JosXa/BotListBot","owner":"JosXa","description":"Repository of Telegram's BotListBot","archived":false,"fork":false,"pushed_at":"2022-12-08T07:44:16.000Z","size":1023,"stargazers_count":58,"open_issues_count":2,"forks_count":30,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-20T09:58:51.974Z","etag":null,"topics":["chatbot","python-telegram-bot","telegram"],"latest_commit_sha":null,"homepage":"https://t.me/botlistbot","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/JosXa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-24T00:05:52.000Z","updated_at":"2024-12-17T21:46:17.000Z","dependencies_parsed_at":"2022-09-24T07:11:34.133Z","dependency_job_id":null,"html_url":"https://github.com/JosXa/BotListBot","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/JosXa%2FBotListBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosXa%2FBotListBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosXa%2FBotListBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosXa%2FBotListBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JosXa","download_url":"https://codeload.github.com/JosXa/BotListBot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245927125,"owners_count":20695171,"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":["chatbot","python-telegram-bot","telegram"],"created_at":"2024-07-31T18:00:49.988Z","updated_at":"2025-03-27T21:30:46.134Z","avatar_url":"https://github.com/JosXa.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# The Telegram @BotListBot\n\nThis is the Chatbot in charge of maintaining the [Telegram BotList](https://t.me/botlist), a channel that is a community-driven approach to collect the best Bots on Telegram. \n\nThe bot simplifies navigation by acting as a mirror of the BotList, and automates the process of submitting, reviewing and publishing bots by the [BotListChat](https://t.me/botlistchat) community.\n\n\nThis repository is meant as inspiration and technical guidance for bot builders, mainly for folks using the amazing [python-telegram-bot](https://python-telegram-bot.org/) library.\n\nJosXa/BotListBot is licensed under the MIT License.\n\n\n## Setup Guide\n\n### Prerequesites\n\n#### Mandatory\n\n- Python 3.7.x\n- A PostgreSQL database instance or Docker ([see below](#development-setup))\n- Pipenv installed globally (`pip install pipenv`)\n- Your own bot token for local development\n\n#### Optional\n\n- A sentry.io account (logging)\n- An S3-compatible object storage (e.g. Minio)\n\n### Development Setup\n\n\u003cdetails\u003e\n\u003csummary\u003eUsing GitHub codespaces and VSCode (\u003cb\u003erecommended\u003c/b\u003e)\u003c/summary\u003e\n\n\u003ci\u003eRecommended because it is the fastest option to get you started.\u003c/i\u003e\n\n1. On [GitHub Codespaces](https://github.com/codespaces), enter \"`JosXa/BotListBot`\" and create your dev container.\n1. Modify the variables in `template.env` and save the file as just `.env` in the root folder of the checkout.\n1. Run the project via `pipenv run python -m botlistbot.main`\n\n\u003c/details\u003e  \n\n\u003cdetails\u003e\n\n\u003csummary\u003eUsing PyCharm...\u003c/summary\u003e\n\n##### Set up a PostgreSQL database instance with Docker\n\n1. Install Docker\n1. Run `docker-compose up -d`\n1. Create and seed the database via `pipenv run python scripts/initialize_database.py seed`\n1. To stop the database, run `docker-compose down`\n\n##### Set up BotListBot\n    \n1. VCS -\u003e Get from Version Control... -\u003e `https://github.com/JosXa/BotListBot` (or your own fork)\n1. Add a new project Interpreter using Pipenv (**not virtualenv**) and let PyCharm install the packages for you\n1. Modify the variables in `template.env` and save the file as just `.env` in the root folder\n1. Run the file `scripts/initialize_database.py` once. Then open its run configuration, add the word \"seed\" to the \narguments list, and run it again. This will fill the database with some initial, required values.\n1. Run `botlistbot/main.py` using a default configuration\n\u003c/details\u003e  \n\n\u003cdetails\u003e\n\u003csummary\u003eNot using PyCharm...\u003c/summary\u003e\n\n##### Set up a PostgreSQL database instance with Docker\n\n1. Install Docker\n1. Run `docker-compose up -d`\n1. Create and seed the database via `pipenv run python scripts/initialize_database.py seed`\n1. To stop the database, run `docker-compose down`\n\n##### Set up BotListBot\n\n1. Clone from GitHub: `git clone https://github.com/JosXa/BotListBot` (or your own fork)\n1. Run `pipenv install`\n1. Modify the variables in `template.env` and save the file as just `.env` in the root folder of the checkout.\n1. Create and seed the database via `pipenv run python scripts/initialize_database.py seed`\n1. Run the project via `pipenv run python -m botlistbot.main`\n\u003c/details\u003e  \n\n#### Further details on configuration\n\nIf you have a look at [settings.py](https://github.com/JosXa/BotListBot/blob/master/botlistbot/settings.py), you can \nsee a bunch of environment variables that are being retrieved via `decouple.config(...)` calls.\nThose settings can be controlled via the `.env` file you created at the root folder.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJosXa%2FBotListBot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJosXa%2FBotListBot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJosXa%2FBotListBot/lists"}