
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
= Isaac - the smallish DSL for writing IRC bots
== Features
== Getting started An Isaac-bot needs a few basics: require 'isaac' configure do |c| c.nick = "AwesomeBot" c.server = "irc.freenode.net" c.port = 6667 # if SSL is required set this to true c.use_ssl = false end That's it. Run ruby bot.rb and it will connect to the specified server.
=== Connecting After the bot has connected to the IRC server you might want to join some channels: on :connect do join "#awesome_channel", "#WesternBar" end
=== Responding to messages Joining a channel and sitting idle is not much fun. Let's repeat everything being said in these channels:
on :channel do msg channel, message end
Notice the +channel+ and +message+ variables. Additionally +nick+ and +match+ is available for channel-events. +nick+ being the sender of the message, +match+ being an array of captures from the regular expression:
on :channel, /^quote this: (.*)/ do msg channel, "Quote: '#{match[0]}' by #{nick}" end
If you want to match private messages use the +on :private+ event:
on :private, /^login (\S+) (\S+)/ do username = match[0] password = match[1] # do something to authorize or whatevz. msg nick, "Login successful!" end
You can also pass the RegExp captures as block arguments:
on :channel, /catch this: (.) and this: (.)/ do |first, last|
# first
will contain the first regexp capture,
# last
the second.
end
=== Defining helpers Helpers should not be defined in the top level, but instead using the +helpers+-constructor:
helpers do def rain_check(meeting) msg nick, "Can I have a rain check on the #{meeting}?" end end
on :private, /date/ do rain_check("romantic date") end
=== Errors, errors, errors Errors, as specified by RFC 1459, can be reacted upon as well. If you e.g. try to send a message to a non-existant nick you will get error 401: "No such nick/channel".
on :error, 401 do # Do something. end
Available variables: +nick+ and +channel+.
== Contribute The source is hosted at GitHub: http://github.com/ichverstehe/isaac
== License The MIT. Google it.
FAQs
Unknown package
We found that hernan43-isaac demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.