ClojureBot - A remote REPL inside Telegram
OTHER License
ClojureBot is a Telegram bot that lets you evaluate your own Clojure expressions, anywhere, anytime.
You'll need to get your own Telegram API key.
ClojureBot uses Environ, so you should set your api-key
environment variable to your own key.
If you are running the bot using leiningen, you can add your key to your profiles.clj
file, like so:
{:dev
{:env {:api-key "your-api-key"}}}
ClojureBot also uses clojail. From the README:
Because clojail employs the JVM's built in sandboxing, you'll need to have a ~/.java.policy file to define permissions for your own code. If you don't do this, you'll get security exceptions. I've included a very liberal example.policy file that you can just copy over to ~/.java.policy.
Then, just lein run
inside your project folder.
All the clojure code you pass to the bot is evaluated in a sandbox.
This specific implementation disallows the creation of defs
and all filesystem and network access. Long-running processes will be terminated (issuing a Timeout Exception).
You can override this by changing the tester used in sandbox.clj
.
Just change the clj-telegrambot-tester
variable to include your preferred clojail tester.
Copyright © 2015 Borja de Régil.
The use and distributon for this software are covered by the Eclipse Public License 1.0.
See also LICENSE
ClojureBot includes code from clj-slackbot, which is Copyright © 2014 Uday Verma. Licensed under the same terms as Clojure (EPL).