{"id":15559877,"url":"https://github.com/agateblue/shy-raccoon","last_synced_at":"2026-04-26T14:31:15.348Z","repository":{"id":193775060,"uuid":"689418545","full_name":"agateblue/shy-raccoon","owner":"agateblue","description":"A Mastodon bot to forward anonymous questions to their recipient, *à la* Curious Cat or NGL. ","archived":false,"fork":false,"pushed_at":"2023-09-13T06:50:27.000Z","size":43,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T11:49:48.450Z","etag":null,"topics":["curiouscat","mastodon","mastodon-bot","python"],"latest_commit_sha":null,"homepage":"","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/agateblue.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":"2023-09-09T18:35:46.000Z","updated_at":"2024-05-31T02:17:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"2f4df274-b5a6-4d5b-b484-7d9462e08de5","html_url":"https://github.com/agateblue/shy-raccoon","commit_stats":null,"previous_names":["agateblue/shy-raccoon"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateblue%2Fshy-raccoon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateblue%2Fshy-raccoon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateblue%2Fshy-raccoon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateblue%2Fshy-raccoon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agateblue","download_url":"https://codeload.github.com/agateblue/shy-raccoon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243213985,"owners_count":20254902,"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":["curiouscat","mastodon","mastodon-bot","python"],"created_at":"2024-10-02T15:59:04.811Z","updated_at":"2025-12-25T14:32:18.085Z","avatar_url":"https://github.com/agateblue.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"A Mastodon bot to forward anonymous messages to their recipient, *à la* Curious Cat or NGL. \n\n# Receiving messages from Shy Raccoon\n\n1. Follow the Shy Raccoon account on the fediverse\n2. Instruct your followers to send their messages to the Shy Racoon account, in private message, mentioning you. \n3. That's it\n\n# Sending anonymous messages using Shy Raccon\n\n1. Send a private message to the Shy Raccoon account that includes the full username of the person you want the question to be forwarded to\n2. That's it!\n\n# Safety features\n\n- Shy Raccoon is opt-in based: you need to follow the bot to start receiving anonymous messages\n- Messages are rate-limited and a given user won't be able to send more than a couple dozen messages a day by default\n- If you receive an abusive or hateful question, simply answer the bot a message that contain the hashtag \"#report\" (this is configurable). A human will take over to ensure this person can't reach you again, as well as reporting them if necessary.\n\n# Hosting your own Shy Raccoon\n\n## Create a Mastodon account for the bot\n\nChose any instance you'd like, but ensure they are okay to host this kind of bot.\n\n## Create a Mastodon App\n\nWith the following scopes :\n\n- read\n- write:statuses\n- write:bookmarks (to bookmark reported statuses)\n- push\n\nGrab the access token for later.\n\n## Get the code\n\n```bash\ncd ~\ngit clone https://github.com/agateblue/shy-raccoon.git\ncd shy-raccoon\n\n# create a python virtualenv\npython3 -m venv venv\n\n# install the project and its dependencies\nvenv/bin/pip install '.'\n```\n\n## Configuration file\n\nConfiguration is done through environment variables. In a production environment, we use an `.env` file to store them.\n\n```bash\ncp env.sample .env\n\n# Add necessary values\nnano .env\n```\n\n## Systemd unit\n\nTo ensure the bot is started automatically with the system and restarted in case of a crash, we recommand using systemd. \n\n```bash\nsudo cp shy-raccoon.service /etc/systemd/system/\n\n# Tweak the unit as needed, especially the path to your shy-raccoon install\nsudo nano /etc/systemd/system/shy-raccoon.service\n\n# Reload the configuration\nsudo systemctl daemon-reload\nsudo systemctl enable shy-raccoon.service\nsudo systemctl start shy-raccoon.service\n```\n\n## Upgrading\n\nIf you want to run an updated version of the code:\n\n```bash\ncd ~/shy-raccoon\n# pull changes from the repo\ngit pull\n# reinstall the project and its dependencies\nvenv/bin/pip install '.'\n# restart the service\nsudo systemctl restart shy-raccoon.service\n```\n\n# Contribute to the project\n\nInitial setup :\n\n```bash\n# git clone then\ncd shy-raccoon\n\n# create a python virtualenv\npython3 -m venv venv\n\n# install the project in dev mode\nvenv/bin/pip install -e '.[dev]'\n```\n\nRunning the project:\n\n```bash\nexport ACCESS_TOKEN=yourtoken SERVER_URL='https://mastodon.cafe'\n# launch Shy Raccoon\nvenv/bin/shy-raccoon stream\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagateblue%2Fshy-raccoon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagateblue%2Fshy-raccoon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagateblue%2Fshy-raccoon/lists"}