I'm trying to build an application for competitive programmers. I can't figure out a way of submitting a solution to a problem from the application (without having to manually opening the website and submitting it). I think (am kind of sure) that bots or web crawlers can't be used on CF for submitting a solution because robots.txt disallows that. But I have seen many applications that use bots to submit solutions. The Codeforces API also does not allow to submit a solution from another application (without opening the CF website). It only allows to read data. Can anyone suggest me a way of doing this or how does applications like cp editor do that? Any advice will be appreciated.
You can just recreate whatever request is used to normally submit solutions.
You might be interested in https://github.com/xalanq/cf-tool (I believe this is what CP Editor uses)
Inspecting gives a pretty good idea of what's happening. It's a POST request using a csrf token. You could probably explore more on your own.
Given that there are already multiple applications/plugins that does this, and that AFAIK it isn't explicitly banned in any of CF's rules, I'd assume that it's allowed.