{"id":18391427,"url":"https://github.com/anoadragon453/drawing-challenge-bot","last_synced_at":"2025-04-12T09:39:35.324Z","repository":{"id":69543379,"uuid":"273996665","full_name":"anoadragon453/drawing-challenge-bot","owner":"anoadragon453","description":"Get weekly pony drawing challenges in your Matrix room!","archived":false,"fork":false,"pushed_at":"2020-07-30T17:59:49.000Z","size":34,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T23:04:59.522Z","etag":null,"topics":["art","bot","matrix","matrix-nio","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anoadragon453.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2020-06-21T23:03:02.000Z","updated_at":"2023-05-01T11:21:35.000Z","dependencies_parsed_at":"2023-06-15T09:15:13.975Z","dependency_job_id":null,"html_url":"https://github.com/anoadragon453/drawing-challenge-bot","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/anoadragon453%2Fdrawing-challenge-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anoadragon453%2Fdrawing-challenge-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anoadragon453%2Fdrawing-challenge-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anoadragon453%2Fdrawing-challenge-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anoadragon453","download_url":"https://codeload.github.com/anoadragon453/drawing-challenge-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248548672,"owners_count":21122747,"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":["art","bot","matrix","matrix-nio","python"],"created_at":"2024-11-06T01:51:49.348Z","updated_at":"2025-04-12T09:39:35.268Z","avatar_url":"https://github.com/anoadragon453.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Drawing Challenge Bot\n\nA short bot written with [nio-template](https://github.com/anoadragon453/nio-template).\n\nPosts the bi-weekly drawing challenge from\nhttps://old.reddit.com/r/MLPDrawingSchool weekly to matrix rooms.\n\n## Install\n\ndrawing-challenge-bot requires\n[matrix-nio](https://github.com/matrix-org/matrix-nio), which supports\nparticipation in end-to-end encryption rooms! To do so, it makes use of the\n[libolm](https://gitlab.matrix.org/matrix-org/olm) C library.  This library\nmust be installed to allow for end-to-end encryption functionality, and\nunfortunately it is *also* required for functional message polling, so it is\npractically a hard required for this program.\n\nUnfortunately, installation of this library can be non-trivial on some\nplatforms. However, with the power of docker, dependencies can be handled with\nlittle fuss, and it is thus the recommended method of installing\n`drawing-challenge-bot`. Native installation instructions are also provided, but\nbe aware that they are more complex.\n\n### Docker\n\n**Recommended.** Follow the docker [installation instructions](docker/README.md#setup).\n\n### Native installation\n\n#### Install libolm\n\nYou can install [libolm](https://gitlab.matrix.org/matrix-org/olm) from source,\nor alternatively, check your system's package manager. Version `3.0.0` or\ngreater is required.\n\n**(Optional) postgres development headers**\n\nBy default, drawing-challenge-bot uses SQLite as its storage backend. This is\nfine for a few hundred users, but if you plan to support a much higher volume\nof requests, you may consider using Postgres as a database backend instead.\n\nIf you want to use postgres as a database backend, you'll need to install\npostgres development headers:\n\nDebian/Ubuntu:\n\n```\nsudo apt install libpq-dev libpq5\n```\n\nArch:\n\n```\nsudo pacman -S postgresql-libs\n```\n\n#### Install Python dependencies\n\nCreate and activate a Python 3 virtual environment:\n\n```\nvirtualenv -p python3 env\nsource env/bin/activate\n```\n\nInstall python dependencies:\n\n```\npip install drawing-challenge-bot\n```\n\n## Configuration\n\nCopy the sample configuration file to a new `config.yaml` file.\n\n```\ncp sample.config.yaml config.yaml\n```\n\nEdit the config file. The `matrix` section must be modified at least.\n\n## Running\n\n### Docker\n\nRefer to the docker [run instructions](docker/README.md#running).\n\n### Native installation\n\nMake sure to source your python environment if you haven't already:\n\n```\nsource env/bin/activate\n```\n\nThen simply run the bot with:\n\n```\ndrawing-challenge-bot\n```\n\nBy default, the bot will run with the config file at `./config.yaml`. However, an\nalternative relative or absolute filepath can be specified after the command:\n\n```\ndrawing-challenge-bot other-config.yaml\n```\n\n## Usage\n\nInvite the bot to a room and it should accept the invite and join. It will then\nstart posting challenges.\n\n## Development\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanoadragon453%2Fdrawing-challenge-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanoadragon453%2Fdrawing-challenge-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanoadragon453%2Fdrawing-challenge-bot/lists"}