Skip to content
ClojureBot - A remote REPL inside Telegram
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


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:

 {: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).

You can’t perform that action at this time.