diff --git a/runcode/code_runner.go b/runcode/code_runner.go index ec69465f..94976064 100644 --- a/runcode/code_runner.go +++ b/runcode/code_runner.go @@ -17,32 +17,32 @@ func init() { RunAllow := true templates := map[string]string{ - "py2": "print 'Hello World!'", - "ruby": "puts \"Hello World!\";", - "rb": "puts \"Hello World!\";", - "php": "", + "py2": "print 'Hello World!'", + "ruby": "puts \"Hello World!\";", + "rb": "puts \"Hello World!\";", + "php": "", "javascript": "console.log(\"Hello World!\");", "js": "console.log(\"Hello World!\");", "node.js": "console.log(\"Hello World!\");", - "scala": "object Main {\n def main(args:Array[String])\n {\n println(\"Hello World!\")\n }\n\t\t\n}", - "go": "package main\n\nimport \"fmt\"\n\nfunc main() {\n fmt.Println(\"Hello, World!\")\n}", - "c": "#include \n\nint main()\n{\n printf(\"Hello, World! \n\");\n return 0;\n}", - "c++": "#include \nusing namespace std;\n\nint main()\n{\n cout << \"Hello World\";\n return 0;\n}", - "cpp": "#include \nusing namespace std;\n\nint main()\n{\n cout << \"Hello World\";\n return 0;\n}", - "java": "public class HelloWorld {\n public static void main(String []args) {\n System.out.println(\"Hello World!\");\n }\n}", - "rust": "fn main() {\n println!(\"Hello World!\");\n}", - "rs": "fn main() {\n println!(\"Hello World!\");\n}", - "c#": "using System;\nnamespace HelloWorldApplication\n{\n class HelloWorld\n {\n static void Main(string[] args)\n {\n Console.WriteLine(\"Hello World!\");\n }\n }\n}", - "cs": "using System;\nnamespace HelloWorldApplication\n{\n class HelloWorld\n {\n static void Main(string[] args)\n {\n Console.WriteLine(\"Hello World!\");\n }\n }\n}", - "csharp": "using System;\nnamespace HelloWorldApplication\n{\n class HelloWorld\n {\n static void Main(string[] args)\n {\n Console.WriteLine(\"Hello World!\");\n }\n }\n}", + "scala": "object Main {\n def main(args:Array[String])\n {\n println(\"Hello World!\")\n }\n\t\t\n}", + "go": "package main\n\nimport \"fmt\"\n\nfunc main() {\n fmt.Println(\"Hello, World!\")\n}", + "c": "#include \n\nint main()\n{\n printf(\"Hello, World! \n\");\n return 0;\n}", + "c++": "#include \nusing namespace std;\n\nint main()\n{\n cout << \"Hello World\";\n return 0;\n}", + "cpp": "#include \nusing namespace std;\n\nint main()\n{\n cout << \"Hello World\";\n return 0;\n}", + "java": "public class HelloWorld {\n public static void main(String []args) {\n System.out.println(\"Hello World!\");\n }\n}", + "rust": "fn main() {\n println!(\"Hello World!\");\n}", + "rs": "fn main() {\n println!(\"Hello World!\");\n}", + "c#": "using System;\nnamespace HelloWorldApplication\n{\n class HelloWorld\n {\n static void Main(string[] args)\n {\n Console.WriteLine(\"Hello World!\");\n }\n }\n}", + "cs": "using System;\nnamespace HelloWorldApplication\n{\n class HelloWorld\n {\n static void Main(string[] args)\n {\n Console.WriteLine(\"Hello World!\");\n }\n }\n}", + "csharp": "using System;\nnamespace HelloWorldApplication\n{\n class HelloWorld\n {\n static void Main(string[] args)\n {\n Console.WriteLine(\"Hello World!\");\n }\n }\n}", "shell": "echo 'Hello World!'", "bash": "echo 'Hello World!'", "erlang": "% escript will ignore the first line\n\nmain(_) ->\n io:format(\"Hello World!~n\").", - "perl": "print \"Hello, World!\n\";", - "python": "print(\"Hello, World!\")", - "py": "print(\"Hello, World!\")", - "swift": "var myString = \"Hello, World!\"\nprint(myString)", - "lua": "var myString = \"Hello, World!\"\nprint(myString)", + "perl": "print \"Hello, World!\n\";", + "python": "print(\"Hello, World!\")", + "py": "print(\"Hello, World!\")", + "swift": "var myString = \"Hello, World!\"\nprint(myString)", + "lua": "var myString = \"Hello, World!\"\nprint(myString)", "pascal": "runcode Hello;\nbegin\n writeln ('Hello, world!')\nend.", "kotlin": "fun main(args : Array){\n println(\"Hello World!\")\n}", "kt": "fun main(args : Array){\n println(\"Hello World!\")\n}", @@ -121,7 +121,7 @@ func init() { ) }) - zero.OnRegex(`>runcode\s(.+?)\s([\s\S]+)`).SetBlock(true).SecondPriority(). + zero.OnRegex(`^>runcode\s(.+?)\s([\s\S]+)$`).SetBlock(true).SecondPriority(). Handle(func(ctx *zero.Ctx) { language := ctx.State["regex_matched"].([]string)[1] language = strings.ToLower(language) @@ -144,11 +144,15 @@ func init() { // 执行运行 block := ctx.State["regex_matched"].([]string)[2] block = message.UnescapeCQCodeText(block) - if block == "help"{ + + if block == "help" { //输出模板 ctx.SendChain( message.Text("> ", ctx.Event.Sender.NickName, " ", language, "-template:\n"), - message.Text(templates[language]), + message.Text( + ">runcode ", language, "\n", + templates[language], + ), ) return }