The crossposting bot that will be used across our communities over various platforms.
  • Python 96.5%
  • Dockerfile 3.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-05 21:29:22 +00:00
media partially implement embed 2026-08-02 22:35:08 +02:00
.gitignore Run formatter 2026-07-26 21:54:18 +02:00
bot.py run black formatter, add type annotations, reformat docs and fix a small log issue. 2026-08-16 19:06:00 +02:00
config_manager.py run black formatter, add type annotations, reformat docs and fix a small log issue. 2026-08-16 19:06:00 +02:00
docker-compose.yml add /flaglet volume bind so newly created config.ini is properly saved when running under docker 2026-08-14 19:02:44 +02:00
Dockerfile add docker support 2026-08-14 18:42:08 +02:00
LICENSE Add license and some default .gitignore file 2026-05-05 17:01:03 +02:00
logger_setup.py run black formatter, add type annotations, reformat docs and fix a small log issue. 2026-08-16 19:06:00 +02:00
README.md Update README.md 2026-09-05 21:29:22 +00:00
requirements.txt remove interactions.py from requirements.txt 2026-08-14 18:14:11 +02:00
TODO.md Create TODO.md 2026-09-01 21:08:25 +00:00

What is this?

This is a crossposting social bot, written in Python. I develop it primarily for a social, online art collective/group I'm working on. Messages containing a configured tag (!art by default) will be crossposted by the bot to a feed channel. That's it.

Details

  • Assumes being run and configured for a single server. Not as an app that is hosted once and usable anywhere.
  • Narrow-scoped
  • Supports Discord only, for now. I intend to add more platforms later.

Contributing and Dev Guidelines

Mostly notes for myself since I'm not really expecting contributions from anyone else xP

  • Keep functionality narrowed to crossposting messages and connecting various platforms
  • Keep things platform-agnostic wherever possible.
  • Try to modularize things wherever possible, especially relating to platform support
  • Since I'm a very amateur programmer, suggestions for how things could be entirely different are welcome and appreciated
  • Please don't just sloperate (LLM-generate) PR's if you're not actively testing and inspecting them yourself. If even an amateur like myself can tell the difference, its more than likely slop.

Road map

I may not implement these in any particular order

  • Basic functionality with Discord
  • Support for stoat.chat (also other platforms later)
  • Send crossposts into a moderator channel to be approved, before being posted across all platforms
  • Send crossposts as a fancy embed, consistent across all platforms
  • Persistently connect posts somehow (I.E. so that a post may be deleted along with equivalent crossposts across all platforms)