Jyoti - A simple IRC bot for use with shell scripts

Overview

Jyoti - A simple IRC bot for use with shell scripts

Zero dependencies.

Simple usage.

Hackable.

Usage

The idea is that Jyoti can be repurposed easily with shell scripts, removing the need to write a new bot each time.

Here is how Jyoti should be used in general, using all its options:

jyoti                     \
  "rust-repl-bot"         \ # Name
  'irc.freenode.net:9997' \ # Server
  '##rust'                \ # Channel
  './shell-script.sh'       # Script

All arguments are required.

The following are then passed to shell-script.sh as separate lines:

  • The message sent to the user.

At this point the script does some work and returns everything on stdout.

You should use the timeout program or similar from coreutils to stop the program if it takes too long to execute in shell scripts.

Run Jyoti multiple times if multiple bots are needed.

Licensing

This software is (c) lf94. If you wish to use it for any reason, contact me, and more than likely I will grant you full permissions; this means the ability to modify, distribute, and even sell the software. This is an effort to fight individual exploitation in the FOSS community.

You might also like...
Drpc-Correct, high performance, robust, easy use Remote invocation framework
Drpc-Correct, high performance, robust, easy use Remote invocation framework

Drpc - Correct, high performance, robust, easy use Remote invocation framework

An easy-to-use tunnel to localhost built in Rust. An alternative to ngrok and frp.

rslocal English | 中文 What is rslocal? Rslocal is like ngrok built in Rust, it builds a tunnel to localhost. Project status support http support tcp su

Fast and easy-to-use event-driven network library.
Fast and easy-to-use event-driven network library.

message-io is a fast and easy-to-use event-driven network library. The library handles the OS socket internally and offers a simple event message API

QUIC proxy that allows to use QUIC to connect to an SSH server without needing to patch the client or the server.

quicssh-rs 😄 quicssh-rs is a QUIC proxy that allows to use QUIC to connect to an SSH server without needing to patch the client or the server. quicss

Simple VPN implemented using rust
Simple VPN implemented using rust

fubuki Simple VPN implemented using rust fubuki是类似与tincVPN的简单组网工具 不支持对等NAT 支持的平台: Windows Linux 工作机制 它由一台拥有公网IP的服务器来维持各个内网客户端的实际地址映射,在客户端和客户端之间实现P2P通信

A simple message based networking library for the bevy framework

Spicy Networking for Bevy bevy_spicy_networking is a solution to the "How do I connect multiple clients to a single server" problem in your bevy games

Simple utility to ping a TCP port.

TcpPing Simple utility to ping a TCP port. Example tcpping 1.1.1.1 53 -b en0 -i 1 -t 4 Connected to 1.1.1.1:53 in 21 ms Connected to 1.1.1.1:53 in 3

Simple in-network file transfer with barely any overhead.

fftp fftp is the "Fast File Transport Protocol". It transfers files quickly between computers on a network with low overhead. Motivation FTP uses two

A simple tcp server that written in rustlang
A simple tcp server that written in rustlang

rust_tcp A simple tcp server that written in rustlang How to build In the root dir cargo run Then you can do a test by using telnet as a client telne

Comments
  • Consider passwords support; limitations of position-based CLI args

    Consider passwords support; limitations of position-based CLI args

    Hi @lf94, a nice project you have here! It checks the right boxes with me to take a closer look. :)

    Having worked on some IRC tools myself, the position-based CLI you chose for your bot instantly reminds me of the struggles I had with adding more features people requested (to be able to integrate a bot in their environments):

    • channel passwords
    • server passwords
    • server SSL

    So, I guess I just like to suggest to you to keep those in mind.

    They are doable as CLI options, but I myself went with a configuration file at some point (done in Weitersager, and actually ongoing these days in syslog2IRC) – to keep passwords out of CLI history and process lists, to ease version control, and to enable more structurally complex application-specific configuration.

    Maybe considering this early can save you some headaches later on.

    opened by homeworkprod 2
Owner
Lee
I see you're looking at my profile.
Lee
An application for downloading public domain ebooks from irc.

An application for downloading public domain ebooks from irc. Despite the name it is not to be used for illegal activities and I am in no way responsible for any such use.

null 33 Nov 25, 2022
RedLizard - A Rust TCP Reverse Shell with SSL

RedLizard - A Rust TCP Reverse Shell with SSL RedLizard Rust TCP Reverse Shell Server/Client This is a reverse shell in Rust called RedLizard, basical

Thanasis Tserpelis 105 Dec 24, 2022
A remote shell, TCP tunnel and HTTP proxy for Replit.

Autobahn A remote shell, TCP tunnel and HTTP proxy for Replit. Hybrid SSH/HTTP server for Replit. Based on leon332157/replish. Autobahn runs a WebSock

Patrick Winters 12 Sep 24, 2022
Interactive bind/reverse PTY shell with Windows&Linux support implementation by Rust.

Cliws Lightweight interactive bind/reverse PTY shell with Windows&Linux support implementation by Rust. Features WebSocket Full pty support: VIM, SSH,

b23r0 215 Dec 3, 2021
A Matrix Server Stats bot

A bot running trough the matrix network to find all rooms.

Marcel 14 Dec 8, 2021
A Markov chain based Discord chat bot.

A Markov chain based Discord chat bot. Building It is recommended to use cargo.

Dominik Miedziński 1 Dec 26, 2021
🤖 Autonomous Twitter bot that posts analytics of the APYs available on the Solend Protocol.

Solend APY Twitter Bot Solana Ignition Hackathon 2021 View Demo · Report Bug · Request Feature Table of Contents About The Project Motivation Challeng

Manuel Gil 4 Sep 23, 2022
A versatile and efficient proxy framework with nice features suitable for various use cases.

A versatile and efficient proxy framework with nice features suitable for various use cases.

null 1.7k Jan 9, 2023
easy to use version controll

Verzcon To start off you need to know are you the server or the client Server If you are the server then you should run verzcon --host then it will ma

Arthur Melton 2 Nov 8, 2021
Easy-to-use wrapper for WebRTC DataChannels peer-to-peer connections written in Rust and compiling to WASM.

Easy-to-use wrapper for WebRTC DataChannels peer-to-peer connections written in Rust and compiling to WASM.

null 58 Dec 11, 2022