It's almost perfect. A small fork removing Discord things makes it effectively so.
[0]: https://github.com/go-gitea/gitea/blob/main/services/webhook...
Among all the possible things to get worked-up about this seems like nothing (unless you are purist that considers including optional functionality to interface with a proprietary-service to be harmful).