Soter is an IRC Bot written in Go that protects IRC Channels by persisting channel modes and topics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
James Mills 800829fb8a
Remove Github workflows
3 months ago
.drone.yml Fix import paths 3 months ago
.gitignore Initial Commit 4 years ago
.gitmodules Updated vendored 3rd-party deps 4 years ago
Dockerfile Initial Commit 4 years ago
LICENSE Updated LICENSE 4 years ago
Makefile Initial Commit 4 years ago Fix import paths 3 months ago
_config.yml Set theme jekyll-theme-architect 3 years ago
docker-compose.yml Add docker-compose stack config 4 years ago
main.go Just log channel modes and changes for now (its broken) 4 years ago
models.go Initial Commit 4 years ago
version.go Bump version 4 years ago

Soter - An IRC Bot, Protector of channels

From the Greek god Soter

Soter (Σωτήρ "Saviour, Deliverer") was the personification or daimon of safety, preservation and deliverance from harm.

And so Soter is an IRC Bot that preserves and protects IRC Channels.


The main requirement of Soter is simply that is has IRC Operator privileges on the server/network is it used on. On most IRCD(s) (IRC Server software) this is called an O-line. Please make sure it has one!


$ go get

Getting Started

Simply run soter:

$ ./soter

How it works

  • Soter will connect to a configured server.
  • Upon successfully connection, Soter will "Oper" up.
  • When Soter is invited to a channel; it will immediately join.
  • When Soter joins a channel for the first time it "Ops" itself.
  • Soter then maintains a persistent "memory" of the channel's topic and modes.
  • Soter will also maintain channel operators in the case of disruption.
  • cadmus -- an IRC Bot written in Go that logs IRC Channels and provides an interface to view and search those logs
  • eris -- a modern IRC Server / Daemon written in Go that has a heavy focus on security and privacy


Soter is licensed under the MIT License.