rich_chat_statuses

package module
v0.0.0-...-83c72f3 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

README

Rich Chat Statuses

Status GitHub Issues GitHub Pull Requests License


Allows you to automatically configure rich statuses in your chat client, including the emoji, text, and do not disturb and away settings.

🧐 About

In a world of remote and hybrid working, your status is an important tool to let others know your availability and to help set expectations on how quickly you might reply to a message. Manually maintaining an accurate status in a busy working environment can be challenging; with Rich Chat Statuses, you can customise all aspects of your status using calendar events:

  • Status text
  • Status emoji
  • Do not disturb (snooze) setting
  • Presence (away/online) setting

For more information see the full documentation.

🏁 Contributing

Prerequisites

Installing

Clone the repository:

git clone git@github.com:bnjns/rich-chat-statuses.git

Install the asdf plugins and mkdocs:

just install

Running the tests

To run all tests:

just test-all

To run specific tests:

  • Application tests
    just test-app
    
  • Standalone binary tests
    just test-cmd
    
  • Calendar tests
    just test-calendars
    
  • Client tests
    just test-clients
    

Running manually

To run the standalone binary manually:

just run-cmd

Running the documentation

just run-docs

⛏️ Built Using

✍️ Authors

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMissingCalendarProvider = errors.New("no calendar provider set")
	ErrMissingCalendarId       = errors.New("no calendar id set")
)

Functions

func WithCalendarId

func WithCalendarId(calendarId string) func(*App)

func WithCalendarProvider

func WithCalendarProvider(calendar types.CalendarProvider) func(*App)

func WithLogHandler

func WithLogHandler(handler log.Handler) func(*App)

func WithLogLevel

func WithLogLevel(level log.Level) func(*App)

func WithStatusPresets

func WithStatusPresets(presets []types.StatusPreset) func(*App)

Types

type App

type App struct {
	CalenderProvider types.CalendarProvider
	CalendarId       string

	LogHandler log.Handler
	LogLevel   log.Level

	StatusPresets []types.StatusPreset
}

func New

func New(optFns ...func(*App)) (*App, error)

func (*App) Execute

func (a *App) Execute(ctx context.Context, client types.Client) error

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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