senpai

package module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 27, 2023 License: ISC Imports: 24 Imported by: 0

README

NOTICE me :senpai!

Welcome home, desune~

A modern terminal IRC client.

a screenshot of your senpai feat. simon!

senpai is an IRC client that works best with bouncers:

  • no logs are kept,
  • history is fetched from the server via CHATHISTORY,
  • networks are fetched from the server via bouncer-networks,
  • messages can be searched in logs via SEARCH.

Quick demo

To try out senpai "online", a live SSH demo is available at:

ssh -p 6666 delthas.fr

Your nick will be set to your SSH username.

(This connects to the Ergo test network.)

Installing

From source (requires Go):

git clone https://git.sr.ht/~taiite/senpai
cd senpai
make
sudo make install

For a simple Go local installation:

git clone https://git.sr.ht/~taiite/senpai
cd senpai
go install ./cmd/senpai

Running

From your terminal:

senpai

Senpai will guide you through a configuration assistant on your first run.

Then, type /join #senpai on Libera.Chat and have a... chat!

See doc/senpai.1.scd for more information and doc/senpai.5.scd for more configuration options!

Debugging errors, testing servers

To debug IRC traffic, run senpai with the -debug argument (or put debug true) in your config, it will then print in the home buffer all the data it sends and receives.

Issue tracker

Browse tickets at https://todo.sr.ht/~taiite/senpai.

To create a ticket, visit the page above, or simply send an email to: u.taiite.senpai@todo.sr.ht (does not require an account)

Contributing

Sending patches to senpai is done by email, this is simple and built-in to Git.

Using pyonji

pyonji streamlines the Git email contribution workflow.

Install, then after adding your changes to a commit, run pyonji.

Using traditional git tools

Set up your system once by following the steps Installation and Configuration of git-send-email.io

Then, run once in this repository:

git config sendemail.to "~delthas/senpai-dev@lists.sr.ht"

Then, to send a patch, make your commit, then run:

git send-email --base=HEAD~1 --annotate -1 -v1

It should then appear on the mailing list.

License

This senpai is open source! Please use it under the ISC license.

Copyright (C) 2021 The senpai Contributors

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultHighlightPath

func DefaultHighlightPath() (string, error)

func ParseAddr added in v0.3.0

func ParseAddr(addr string, cfg *Config) error

Types

type App

type App struct {
	// contains filtered or unexported fields
}

func NewApp

func NewApp(cfg Config) (app *App, err error)

func (*App) Close

func (app *App) Close()

func (*App) CurrentBuffer

func (app *App) CurrentBuffer() (netID, buffer string)

func (*App) CurrentSession

func (app *App) CurrentSession() *irc.Session

func (*App) LastMessageTime

func (app *App) LastMessageTime() time.Time

func (*App) Run

func (app *App) Run()

func (*App) SetLastClose

func (app *App) SetLastClose(t time.Time)

func (*App) SwitchToBuffer

func (app *App) SwitchToBuffer(netID, buffer string)

type Config

type Config struct {
	Addr          string
	Nick          string
	Real          string
	User          string
	Password      *string
	TLS           bool
	TLSSkipVerify bool

	Channels []string

	Typings bool
	Mouse   bool

	Highlights       []string
	OnHighlightPath  string
	OnHighlightBeep  bool
	NickColWidth     int
	ChanColWidth     int
	ChanColEnabled   bool
	MemberColWidth   int
	MemberColEnabled bool
	TextMaxWidth     int
	StatusEnabled    bool

	Colors ui.ConfigColors

	Debug     bool
	Transient bool
}

func Defaults

func Defaults() Config

func LoadConfigFile

func LoadConfigFile(filename string) (Config, error)

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL