{"id":20636904,"url":"https://github.com/veonik/squircy2","last_synced_at":"2025-10-16T15:11:08.308Z","repository":{"id":22168464,"uuid":"25500202","full_name":"veonik/squircy2","owner":"veonik","description":"Golang IRC bot, scriptable with javascript","archived":false,"fork":false,"pushed_at":"2019-06-03T05:17:45.000Z","size":441,"stargazers_count":18,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T01:51:38.255Z","etag":null,"topics":["bot","go","golang","irc-bot"],"latest_commit_sha":null,"homepage":"https://squircy.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/veonik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-21T03:29:49.000Z","updated_at":"2022-08-22T16:02:07.000Z","dependencies_parsed_at":"2022-08-20T21:40:45.602Z","dependency_job_id":null,"html_url":"https://github.com/veonik/squircy2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veonik%2Fsquircy2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veonik%2Fsquircy2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veonik%2Fsquircy2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veonik%2Fsquircy2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veonik","download_url":"https://codeload.github.com/veonik/squircy2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249161104,"owners_count":21222468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","go","golang","irc-bot"],"created_at":"2024-11-16T15:12:28.313Z","updated_at":"2025-10-16T15:11:03.273Z","avatar_url":"https://github.com/veonik.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"squIRCy2\n========\n\n##### the scriptable IRC bot\n\nsquIRCy2 is an IRC bot written in Go and is scriptable using an embedded JavaScript runtime.\n\nIt features a robust CLI with REPL and auto-completion, a web management interface, an embedded document store, and event based in-program communication. \n\nCustomize the bot's functionality with JavaScript. Bind event handlers to handle events that occur in the application. Events come from IRC, the CLI, or even the web.\n\n\nInstallation\n------------\n\nInstall squIRCy2 with `go get`.\n\n```bash\ngo get -u \"github.com/veonik/squircy2/...\"\n```\n\nAfter squIRCy2 is installed, you can run it immediately with `squircy2`. On first run, a default configuration will be initialized in `~/.squircy2`.\n\n```\nsquircy2\n```\n\n\u003e For information on modifying and customizing squIRcy2, see [Contributing](docs/customizing.md).\n\n\nUsage\n-----\n\nsquIRCy2 command-line usage.\n\n```\nsquIRcy2 version dev (go1.8)\nUsage: squircy2 [-no-interactive] [-root-path \u003cconfig root\u003e] [-version]\n\n  -no-interactive\n    \tRun without user interaction.\n  -root-path string\n    \tSpecify a custom root path. (default \"~/.squircy2\")\n  -version\n    \tDisplay the version and exit.\n```\n\nCustomize where squIRCy2 stores data by specifying a custom `-root-path`. Specifying `-no-interactive` will disable the CLI.\n\n### Command line\n\nThe squIRCy2 command line starts in \"Command Mode\" which offers a few basic commands, including connecting/disconnecting from IRC, enabling/disabling the web server, and starting a REPL.\n \nEnter \"REPL Mode\" by entering the `repl` command. This REPL features history navigable with the arrow keys, history search with CTRL+R, and auto-completion with TAB.\n\n\nConfiguration\n-------------\n\nOnce the bot is up and running, you can access the web management interface via `localhost:3000`. From this interface you can write scripts and use a web-based REPL, as well as configure squIRCy2 to your liking.\n\n### Configuration overview\n\nFrom the Settings page, you can configure:\n\n* **IRC**\n  * Configure the Network, Nickname and Username information for the bot. You can also enable TLS-- be sure to specify a TLS-capable port for the Network.\n  * Enable SASL authentication and enter your NickServ username and password. **Note these are stored plaintext in a blob format.**\n  * Owner Nick and Host can be used from within scripts to verify a user's ownership of the bot. See [the JavaScript reference](docs/js-api.md) for more information.\n* **Script Management**\n  * If you prefer to work with an external editor, you can have squIRCy2 load scripts on the filesystem. Specify a path, enable the option, and restart squIRCy2.\n  * Import and Export scripts from the embedded data store.\n* **Web Interface**\n  * Disable the web interface completely by disabling both HTTP and HTTPS.\n  * Configure HTTPS by specifying a certificate file and private key.\n  * Configure HTTP(S) Basic Authentication with a Username and Password. **Note these are stored plaintext in a blob format.**\n\n\nScripting\n---------\n\nsquIRCy2 embeds a JavaScript interpreter, allowing you to write scripts to implement various bot behaviors.\n\n### JavaScript API\n\nA full introduction to the squIRCy2 JavaScript API can be found in [the JavaScript API reference](docs/js-api.md).\n\n#### Example scripts\n\nCheck the [Example Scripts section](docs/examples.md) for ideas for squIRCy2 scripts.\n\n### Webhooks\n\nSee the [dedicated section on Webhooks](docs/webhooks.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveonik%2Fsquircy2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveonik%2Fsquircy2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveonik%2Fsquircy2/lists"}