{"id":15665347,"url":"https://github.com/crisidev/holysee","last_synced_at":"2025-05-06T19:42:58.165Z","repository":{"id":142218523,"uuid":"109262378","full_name":"crisidev/holysee","owner":"crisidev","description":"Thought out badly, understood worse and written the worst, this should be a Telegram\u003c-\u003eIRC relay bot with a reasonable configuration","archived":false,"fork":false,"pushed_at":"2018-08-13T08:15:24.000Z","size":211,"stargazers_count":6,"open_issues_count":8,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-06T16:22:27.805Z","etag":null,"topics":["awesomeness","irc-bot","karma","quotes","rust","telegram-bot","toml"],"latest_commit_sha":null,"homepage":"https://github.com/crisidev/holysee","language":"Rust","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/crisidev.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-02T12:32:55.000Z","updated_at":"2018-08-11T14:35:33.000Z","dependencies_parsed_at":"2023-06-05T05:15:49.271Z","dependency_job_id":null,"html_url":"https://github.com/crisidev/holysee","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/crisidev%2Fholysee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crisidev%2Fholysee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crisidev%2Fholysee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crisidev%2Fholysee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crisidev","download_url":"https://codeload.github.com/crisidev/holysee/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252755820,"owners_count":21799375,"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":["awesomeness","irc-bot","karma","quotes","rust","telegram-bot","toml"],"created_at":"2024-10-03T13:45:48.327Z","updated_at":"2025-05-06T19:42:58.128Z","avatar_url":"https://github.com/crisidev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Holysee\n\n[![Build Status](https://travis-ci.org/crisidev/holysee.svg?branch=master)](https://travis-ci.org/crisidev/holysee)\n[![codecov](https://codecov.io/gh/crisidev/holysee/branch/master/graph/badge.svg)](https://codecov.io/gh/crisidev/holysee)\n\n- [Holysee](#holysee)\n  * [Dependencies](#dependencies)\n- [Configuration](#configuration)\n- [Usage](#usage)\n  * [Stable-ish version](#stable-ish-version)\n  * [Git version](#git-version)\n  * [Available Commands and Filters](#available-commands-and-filters)\n    + [Help / Usage](#help---usage)\n    + [Relay](#relay)\n    + [Karma](#karma)\n    + [Last Seen](#last-seen)\n    + [Quote](#quote)\n    + [Url Preview](#url-preview)\n\nThought out badly, understood worse and written the worst, this should be a telegram\u003c-\u003eirc\nrelay bot with a reasonable configuration.\n\n**DISCLAIMER**: anything that can ever come from this package is pure garbage. Only a madman\nwould ever learn or study this package. You have been warned.\n\n## Dependencies\n\nThis abomination uses the excellent [telegram-bot](https://github.com/telegram-rs/telegram-bot/) library by vendoring\na copy of it - to avoid depending on the latest git - in the `vendor/` directory. Many thanks to the original\nauthors for their excellent job.\n\n# Configuration\n\nThe provided configuration file is pretty self explanatory, just copy it to `config/local.toml` for it to be loaded\nby the bot during startup.\n\nTo convert irc nicknames to telegram and viceversa you can configure the `[[nicknames]]` map in the toml file as follows:\n\n```\n[[nickanmes]]\nirc = \"user1\"\ntelegram = \"@someother\"\n[[nicknames]]\nirc = \"user2\"\ntelegram = \"@user2\"\n```\n\nIn this example remember to add the `@` character before the username of the telegram user, or the translation will fail.\n\nThere is currently no way of disabling this feature, feel free to find a way of configuring without breaking :)\n\nEnabled commands can be configured as well:\n\n```\n[commands]\ndata_dir = \"./data\"\nenabled = [\n  \"karma\",\n  \"quote\",\n  \"last_seen\",\n  \"url_preview\",\n]\n```\n\n# Usage\n\n## Stable-ish version\nCheck [Release](https://github.com/crisidev/holysee/releases) page, download the prebuild binary (Linux only) and run it with a proper configurations structure:\n\n```\ntar xfvz holysee-$version-linux-amd64.tar.gz\ncd holysee\nedit config/local.toml\nRUST_LOG=holysee=info ./holysee\n```\n\n## Git version\nBuild the bot and run it from where it can access the data dir configured in the toml file:\n\n```\ngit clone https://github.com/crisidev/holysee\ncd holysee\nmake\ncd holysee\ncp config/example.toml config/local.toml\nedit config/local.toml\nRUST_BACKTRACE=1 RUST_LOG=holysee=debug ./target/debug/holysee\n```\n\n## Available Commands and Filters\n* karma\n* last_seen\n* quote\n* url_preview\n\nThe commands are run via any transport, using a configurable prefix, like:\n\n```\n!command param1 param2 ...\n```\n\n### Help / Usage\n\nEvery command is provided with a self-explaining help which will be sent, where possible, as private message to the requester.\n**It is always enabled.**\n\n```\n!help command\n!usage command\n```\n\nNote: `!usage` and `!help` are aliased.\n\n### Relay\n\nRelay is a special command allowing IRC \u003c-\u003e Telegram relay. **It is always enabled and triggered on every message.**\n\n### Karma\n\nKarma records string karma for posterity. To create (or increment) the karma of any string you can run:\n\n- `viva \u003cstring\u003e` or `\u003cstring\u003e++`\n\nTo decrement it\n\n- `abbasso \u003cstring\u003e` or `\u003cstring\u003e--`\n\nTo view the karma for a string:\n\n- `!karma \u003cstring\u003e`\n\n### Last Seen\n\nThe last seen command maintains a timestamp of the last time a user has written some message in the channel. You can see\nthe last time a nickname has said something by running:\n\n- `!seen \u003cnickname\u003e`\n\n### Quote\n\nThe quote command maintains a list of quotes. To get a random quote run\n\n- `!quote`\n\nto add a quote use\n\n- `!quote add \u003cstring\u003e`\n\nto delete a quote use\n\n- `!quote rm \u003cquote_id\u003e`\n- `!quote rm \u003cstring\u003e`\n\nto get a specific quote you can run\n\n- `!quote \u003cquote_id\u003e`\n\n### Url Preview\n\nThe url preview command is not properly a command, in the sense that it is not activated by user input, but instead listens\non any incoming message and parses it via regexp to extract any URLs in it. For any url it finds it will try to load it and\nsend the Title of the page on the channel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrisidev%2Fholysee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrisidev%2Fholysee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrisidev%2Fholysee/lists"}