另一个 Lua 机器人

lua-users home
wiki

Yalb 是一个(另一个)在沙箱中运行 Lua 代码的机器人。它位于 #lua 频道,前缀字符为 %

与其他机器人不同,它可以执行多个版本的 Lua:从 3.2 到 5.3,甚至 LuaJIT。

界面

命令格式如下:%<version> <code>

<version> 例如是 5.3luajit。可以留空,则使用默认版本 (5.3)。

除了 Lua,还有其他几个沙箱,例如 pybc,甚至 c。请查看 %list 获取完整列表。

要运行一大块代码,可以将其发布到 [tcp.st][qp.mniip.com] 上,然后使用 dofile 加载 URL,例如 % dofile("http://tcp.st/foo")

如果将 % 符号加倍,即 %%<version> <code>,则输出将重定向到 yalb 自己的粘贴板环,从而可以避免在频道中发送大量输出。

另一个命令是 %?<version> <title>,它在手册中查找标题(例如 math.sinlua_pcall6.4.1)。

最后但并非最不重要的是,有 3 个特殊命令

沙箱

有一个名为 pp 的函数,它可以进行漂亮打印。它接受零个或多个值作为参数,并返回一个字符串。它不会对表格进行深度检查,但会相应地显示相同的表格/函数/用户数据。

沙箱会对从代码中返回的任何内容进行漂亮打印。

执行时间限制为 3 秒,内存限制约为 500 MiB。

允许读取一些特定位置的文件,例如 /dev//usr/include/。还提供了一个(非 chroot)类 Unix 环境,可以通过 os.execute 使用。可以在当前目录内操作文件系统,但可以放置的数据量有限。

是的,它确实接受私信。

来源: 后端是一个 ptrace 混乱,可以在 [这里] 获取(以前版本使用 [这个])。前端是一个 100 行的 Lua 脚本,在 15 分钟内拼凑而成。

作者: mniip


最近更改 · 偏好设置
编辑 · 历史
最后编辑于 2018 年 10 月 29 日下午 7:48 格林威治标准时间 (差异)