All Projects → veonik → squircy2

veonik / squircy2

Licence: MIT license
Golang IRC bot, scriptable with javascript

Programming Languages

go
31211 projects - #10 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to squircy2

bmotion
An Artificial Stupidity script for eggdrop bots
Stars: ✭ 58 (+222.22%)
Mutual labels:  irc-bot
CloudBot
CloudBot - The simple, fast, expandable, open-source Python IRC Bot!
Stars: ✭ 69 (+283.33%)
Mutual labels:  irc-bot
TwitchPy
This is a package you can use to connect with the Twitch API, manage a channel, create bots, etc
Stars: ✭ 22 (+22.22%)
Mutual labels:  irc-bot
lita-irc
An IRC adapter for Lita.
Stars: ✭ 19 (+5.56%)
Mutual labels:  irc-bot
irc-bot
A simple and modular PHP IRC bot
Stars: ✭ 82 (+355.56%)
Mutual labels:  irc-bot
Limnoria
A robust, full-featured, and user/programmer-friendly Python IRC bot, with many existing plugins. Successor of the well-known Supybot.
Stars: ✭ 578 (+3111.11%)
Mutual labels:  irc-bot
wgmeeting-github-ircbot
IRC bot to make github comments with relevant sections of Working Group Meeting IRC minutes. Running as @css-meeting-bot.
Stars: ✭ 13 (-27.78%)
Mutual labels:  irc-bot
eggdrop-docker
No description or website provided.
Stars: ✭ 20 (+11.11%)
Mutual labels:  irc-bot
HackServ
Python 3 IRC Bot / Botnet
Stars: ✭ 28 (+55.56%)
Mutual labels:  irc-bot
cappuccino
Just another IRC bot.
Stars: ✭ 13 (-27.78%)
Mutual labels:  irc-bot
TwitchBot
Custom C# chat bot for Twitch TV
Stars: ✭ 33 (+83.33%)
Mutual labels:  irc-bot
alice
Alice Margatroid, a dollmaster that pretends not to be a doll itself.
Stars: ✭ 14 (-22.22%)
Mutual labels:  irc-bot
TimTheWordWarBot
Timmy - The NaNoWriMo Wordwar Bot
Stars: ✭ 14 (-22.22%)
Mutual labels:  irc-bot
yesbot
IRC Bot Written in Prolog
Stars: ✭ 19 (+5.56%)
Mutual labels:  irc-bot
yossarian-bot
An IRC bot with a bunch of features.
Stars: ✭ 30 (+66.67%)
Mutual labels:  irc-bot
irc.dart
Dart IRC Library
Stars: ✭ 45 (+150%)
Mutual labels:  irc-bot
phenny
My fork of phenny lives on at https://github.com/vtluug/phenny. This tree is now unmaintained.
Stars: ✭ 15 (-16.67%)
Mutual labels:  irc-bot
Cardinal
A Python IRC bot, designed to make adding functionality quick and simple.
Stars: ✭ 92 (+411.11%)
Mutual labels:  irc-bot
insobot
C99 modular IRC bot with markov chains
Stars: ✭ 71 (+294.44%)
Mutual labels:  irc-bot
irc-rss-feed-bot
Dockerized IRC bot to post RSS/Atom and scraped HTML/JSON/CSV feeds to channels
Stars: ✭ 24 (+33.33%)
Mutual labels:  irc-bot

squIRCy2

the scriptable IRC bot

squIRCy2 is an IRC bot written in Go and is scriptable using an embedded JavaScript runtime.

It features a robust CLI with REPL and auto-completion, a web management interface, an embedded document store, and event based in-program communication.

Customize 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.

Installation

Install squIRCy2 with go get.

go get -u "github.com/veonik/squircy2/..."

After squIRCy2 is installed, you can run it immediately with squircy2. On first run, a default configuration will be initialized in ~/.squircy2.

squircy2

For information on modifying and customizing squIRcy2, see Contributing.

Usage

squIRCy2 command-line usage.

squIRcy2 version dev (go1.8)
Usage: squircy2 [-no-interactive] [-root-path <config root>] [-version]

  -no-interactive
    	Run without user interaction.
  -root-path string
    	Specify a custom root path. (default "~/.squircy2")
  -version
    	Display the version and exit.

Customize where squIRCy2 stores data by specifying a custom -root-path. Specifying -no-interactive will disable the CLI.

Command line

The 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.

Enter "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.

Configuration

Once 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.

Configuration overview

From the Settings page, you can configure:

  • IRC
    • 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.
    • Enable SASL authentication and enter your NickServ username and password. Note these are stored plaintext in a blob format.
    • Owner Nick and Host can be used from within scripts to verify a user's ownership of the bot. See the JavaScript reference for more information.
  • Script Management
    • 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.
    • Import and Export scripts from the embedded data store.
  • Web Interface
    • Disable the web interface completely by disabling both HTTP and HTTPS.
    • Configure HTTPS by specifying a certificate file and private key.
    • Configure HTTP(S) Basic Authentication with a Username and Password. Note these are stored plaintext in a blob format.

Scripting

squIRCy2 embeds a JavaScript interpreter, allowing you to write scripts to implement various bot behaviors.

JavaScript API

A full introduction to the squIRCy2 JavaScript API can be found in the JavaScript API reference.

Example scripts

Check the Example Scripts section for ideas for squIRCy2 scripts.

Webhooks

See the dedicated section on Webhooks.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].