hello bot

A Mastodon chat bot that execute programs and return the result. ( 日本語 )

How to use

Basics

Please talk to @hello@mastodon.toycode.com

toot

@hello@mastodon.toycode.com
hello.cpp
#include <iostream>
int main()
{
    std::cout << "Hello, World!\n";
}

reply

Hello, World!

Next word to hello@mastodon.toycode.co is the file name, this bot determines the language by the file extension.

@hello@mastodon.toycode.com
(write "hello, world")
(newline)
@hello@mastodon.toycode.com
hello.rb
puts "hello, world"

Insted of useing file name, you can use shebang

@hello@mastodon.toycode.com
#!/bin/bash
echo "hello, world"

Generate image

SVG (*.svg), Dot Language (*.dot), HTML (*.htm|*html), Gnuplot(*.plt|*.gnuplot|*.gpi) generate image.

toot

@hello@mastodon.toycode.com
hello.cpp
#include <iostream>
int main()
{
    std::cout << "Hello, World!\n";
}

reply

If you create out.png it return the image. and if you create out.svg it convert to out.png and return the image.

toot

@hello@mastodon.toycode.com
rgb-tile.c
#include <stdio.h>

void main()
{
  int x, y, n=0;
  char *c[] = {"#e55", "#5e5", "#55e"};
  FILE *fp = fopen("out.svg", "w");

  fprintf(fp, "<svg height='200' width='400'>");
  for(x=0; x<400; x+=10) {
    for(y=0; y<200; y+=10) {
      fprintf(fp, "<rect x='%d' y='%d' width='10' height='10' fill='%s' />\n", x, y,  c[n++%3]);
    }
  }
  fprintf(fp, "</svg>");
}

reply

supported prgram language

extension language/processer
.asm NASM
.bc bc
.bf beef(Brainfuck)
.cpp clang++(c++)
.cs mcs/mono(C#)
.c gcc(C)
.dot dot/Graphviz
.f .f90 .f95 gfortran
.go go
.hs ghc
.html phantomjs
java openjdk-9
.js nodejs
.lsp .lisp clisp
.lua lua5.3
.ml ocaml
.php php7
.plt .gnuplot .gpi gnuplot
.py2 python2
.py3 .py python3
.pl perl
.rb ruby
.scm guile(scheme)
.sh .bash bash
.sql sqlite3
.svg inkscape
.ts tsc(TypeScript)
.vim vim
.zsh zsh