diff --git a/dbus.go b/dbus.go index ae2ee65..901f8a8 100644 --- a/dbus.go +++ b/dbus.go @@ -391,6 +391,18 @@ func (a *DBusAdapter) SetConfig(sessionID, key, value string) (bool, *dbus.Error return true, nil } +func (a *DBusAdapter) GetReactions(sessionID string) (string, *dbus.Error) { + sess := a.mgr.Session(sessionID) + if sess == nil { + return "{}", nil + } + data, err := json.Marshal(sess.Core.Reactions()) + if err != nil { + return "", dbus.MakeFailedError(err) + } + return string(data), nil +} + func (a *DBusAdapter) GetContext(sessionID string) (string, *dbus.Error) { sess := a.mgr.Session(sessionID) if sess == nil { @@ -707,6 +719,7 @@ var introspectXML = ` + diff --git a/main_test.go b/main_test.go index afb0b9c..dbbc630 100644 --- a/main_test.go +++ b/main_test.go @@ -96,6 +96,7 @@ func (c *stubCore) SignalDetached(int, int) error func (c *stubCore) GetDetachedOutput(int) (string, error) { return "", nil } func (c *stubCore) DismissDetached(int) bool { return false } func (c *stubCore) InjectSystemEvent(string) {} +func (c *stubCore) Reactions() map[string]string { return nil } func (c *stubCore) React(string) {} func (c *stubCore) ReactTo(responseID, emoji string) error { c.reactResponseID = responseID