{"id":17223133,"url":"https://github.com/daboross/zaldinar","last_synced_at":"2026-03-09T04:01:45.229Z","repository":{"id":23740879,"uuid":"27114666","full_name":"daboross/zaldinar","owner":"daboross","description":"Easily modable rust IRC bot","archived":false,"fork":false,"pushed_at":"2017-05-10T05:13:51.000Z","size":289,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T14:21:30.790Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daboross.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-25T07:44:42.000Z","updated_at":"2016-11-04T00:33:42.000Z","dependencies_parsed_at":"2022-07-25T10:32:01.218Z","dependency_job_id":null,"html_url":"https://github.com/daboross/zaldinar","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daboross%2Fzaldinar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daboross%2Fzaldinar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daboross%2Fzaldinar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daboross%2Fzaldinar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daboross","download_url":"https://codeload.github.com/daboross/zaldinar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248799984,"owners_count":21163404,"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":[],"created_at":"2024-10-15T04:07:27.291Z","updated_at":"2026-03-09T04:01:40.176Z","avatar_url":"https://github.com/daboross.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"zaldinar\n========\n\nA concurrently-run plugin-enabled IRC bot written in Rust.\n\nRust is a language designed to run at C-level speeds, while maintaining type and memory safety at standards above even what higher level languages have to offer.\n\nZaldinar is an IRC bot written in rust, designed to showcase some rust's features and speed, and also just as a general experiment.\n\nZaldinar may only be used while complying to the license terms in the `LICENSE` file.\n\nRepository layout\n===\n\nZaldinar is split into 4 parts:\n\n- `zaldinar-irclib` is the basic irc parsing library, which is used to communicate with the irc server\n- `zaldinar-core` is the majority of zaldinar's inner workings. It contains all of the data types and events used by plugins and zaldinar itself.\n- `plugins` is a folder which contains a set of separate \"plugin\" rust files. Each plugin is generated into a full cargo crate by the `plugin-generator` application.\n- `zaldinar-runtime` depends on and builds everything together. It contains the dispatch code to run plugins in separate threads, the startup code to initialize everything, and compiles to the main `zaldinar` binary.\n\nBuilding zaldinar\n===\n\nIn order to build zaldinar, first you need to build and run the `plugin-generator` crate. A simple `cargo run --release` in the `plugin-generator` directory will generate all the plugin crates you need into the `build-out` folder.\n\nThen, after the plugin generator has run, you can just use `cargo build` in the `zaldinar-runtime` directory to build zaldinar! The plugin generator will need to be re-run every time you change plugins any of the plugin files, but it is very fast after compiling for the first time.\n\nI recommend creating a shell script for building zaldinar similar to the following in order to automatically run the plugin generator and build zaldinar:\n\n```bash\n#!/bin/bash\nZALDINAR_PATH=\"/home/daboross/Projects/Rust/zaldinar/\"\n\ncd \"${ZALDINAR_PATH}/plugin-generator\" \u0026\u0026\ncargo run --release \u0026\u0026\ncd \"${ZALDINAR_PATH}/zaldinar-runtime\" \u0026\u0026\nif [[ ! -z \"$@\" ]]; then\n    cargo build \"$@\"\nelse\n    cargo build\nfi\n```\n\nZaldinar feature highlights\n===\n\nTODO: Make these!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaboross%2Fzaldinar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaboross%2Fzaldinar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaboross%2Fzaldinar/lists"}