connector: send bridge state updates on gateway events
This also makes the account properly appear in client settings after provisioning.
This commit is contained in:
@@ -115,10 +115,6 @@ func (d *DiscordClient) Connect(ctx context.Context) {
|
|||||||
if err := d.connect(ctx); err != nil {
|
if err := d.connect(ctx); err != nil {
|
||||||
log.Err(err).Msg("Couldn't connect to Discord")
|
log.Err(err).Msg("Couldn't connect to Discord")
|
||||||
}
|
}
|
||||||
// TODO(skip): Use event handler and send this in response to READY/RESUMED instead?
|
|
||||||
d.UserLogin.BridgeState.Send(status.BridgeState{
|
|
||||||
StateEvent: status.StateConnected,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cl *DiscordClient) handleDiscordEventSync(event any) {
|
func (cl *DiscordClient) handleDiscordEventSync(event any) {
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import (
|
|||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
"maunium.net/go/mautrix/bridgev2"
|
"maunium.net/go/mautrix/bridgev2"
|
||||||
"maunium.net/go/mautrix/bridgev2/networkid"
|
"maunium.net/go/mautrix/bridgev2/networkid"
|
||||||
|
"maunium.net/go/mautrix/bridgev2/status"
|
||||||
)
|
)
|
||||||
|
|
||||||
type DiscordEventMeta struct {
|
type DiscordEventMeta struct {
|
||||||
@@ -193,6 +194,16 @@ func (d *DiscordClient) handleDiscordEvent(rawEvt any) {
|
|||||||
Logger()
|
Logger()
|
||||||
|
|
||||||
switch evt := rawEvt.(type) {
|
switch evt := rawEvt.(type) {
|
||||||
|
case *discordgo.Ready:
|
||||||
|
log.Info().Msg("Received READY dispatch from discordgo")
|
||||||
|
d.UserLogin.BridgeState.Send(status.BridgeState{
|
||||||
|
StateEvent: status.StateConnected,
|
||||||
|
})
|
||||||
|
case *discordgo.Resumed:
|
||||||
|
log.Info().Msg("Received RESUMED dispatch from discordgo")
|
||||||
|
d.UserLogin.BridgeState.Send(status.BridgeState{
|
||||||
|
StateEvent: status.StateConnected,
|
||||||
|
})
|
||||||
case *discordgo.MessageCreate:
|
case *discordgo.MessageCreate:
|
||||||
if evt.Author == nil {
|
if evt.Author == nil {
|
||||||
log.Trace().Int("message_type", int(evt.Message.Type)).
|
log.Trace().Int("message_type", int(evt.Message.Type)).
|
||||||
|
|||||||
Reference in New Issue
Block a user