hello bot

プログラムを実行して結果を返す。 Mastodon チャットボットです。 ( English )

使い方

基本

@hello@mastodon.toycode.com に話しかけ(メンション)して下さい。

送信

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

返信

Hello, World!

@hello@mastodon.toycode.com の次はファイル名です、拡張子によって言語を判定します。

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

ファイル名の代わりに shebang を使う事もできます。

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

画像生成

SVG (*.svg), Dot言語 (*.dot), HTML (*.htm|*html), Gnuplot(*.plt|*.gnuplot|*.gpi) に対しては画像を生成して返します。

送信

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

返信

また、プログラムによって out.svg out.png というイメージファイルを作成すると。 out.svgpng に変換して、 out.png はそのままそれを返します。

送信

@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>");
}

返信

対応している拡張子とプログラム処理系

拡張子 処理系&言語
.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

リンク