Adjust some calls for bot accounts
This commit is contained in:
@@ -1548,6 +1548,10 @@ func (portal *Portal) HandleMatrixReadReceipt(brUser bridge.User, eventID id.Eve
|
||||
return
|
||||
}
|
||||
}
|
||||
if !sender.Session.IsUser {
|
||||
// Drop read receipts from bot users (after checking for the thread auto-join stuff)
|
||||
return
|
||||
}
|
||||
msg := portal.bridge.DB.Message.GetByMXID(portal.Key, eventID)
|
||||
if msg == nil {
|
||||
msg = portal.bridge.DB.Message.GetClosestBefore(portal.Key, discordThreadID, receipt.Timestamp)
|
||||
|
||||
@@ -79,7 +79,12 @@ func (thread *Thread) Join(user *User) {
|
||||
return
|
||||
}
|
||||
user.log.Debugfln("Joining thread %s@%s", thread.ID, thread.ParentID)
|
||||
err := user.Session.ThreadJoinWithLocation(thread.ID, discordgo.ThreadJoinLocationContextMenu)
|
||||
var err error
|
||||
if user.Session.IsUser {
|
||||
err = user.Session.ThreadJoinWithLocation(thread.ID, discordgo.ThreadJoinLocationContextMenu)
|
||||
} else {
|
||||
err = user.Session.ThreadJoin(thread.ID)
|
||||
}
|
||||
if err != nil {
|
||||
user.log.Errorfln("Error joining thread %s@%s: %v", thread.ID, thread.ParentID, err)
|
||||
} else {
|
||||
|
||||
7
user.go
7
user.go
@@ -562,8 +562,6 @@ func (user *User) Connect() error {
|
||||
|
||||
user.Session.AddHandler(user.interactionSuccessHandler)
|
||||
|
||||
user.Session.Identify.Presence.Status = "online"
|
||||
|
||||
return user.Session.Open()
|
||||
}
|
||||
|
||||
@@ -637,6 +635,9 @@ func (user *User) readyHandler(_ *discordgo.Session, r *discordgo.Ready) {
|
||||
}
|
||||
|
||||
func (user *User) subscribeGuilds(delay time.Duration) {
|
||||
if !user.Session.IsUser {
|
||||
return
|
||||
}
|
||||
for _, guildMeta := range user.Session.State.Guilds {
|
||||
guild := user.bridge.GetGuildByID(guildMeta.ID, false)
|
||||
if guild != nil && guild.MXID != "" {
|
||||
@@ -1172,6 +1173,7 @@ func (user *User) bridgeGuild(guildID string, everything bool) error {
|
||||
}
|
||||
guild.Update()
|
||||
|
||||
if user.Session.IsUser {
|
||||
user.log.Debugfln("Subscribing to guild %s after bridging", guild.ID)
|
||||
err = user.Session.SubscribeGuild(discordgo.GuildSubscribeData{
|
||||
GuildID: guild.ID,
|
||||
@@ -1182,6 +1184,7 @@ func (user *User) bridgeGuild(guildID string, everything bool) error {
|
||||
if err != nil {
|
||||
user.log.Warnfln("Failed to subscribe to %s: %v", guild.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user