Skip to content

Commit

Permalink
Fix Threads Events (#218)
Browse files Browse the repository at this point in the history
Resolves issues with Threads Events that have been reported on the Discord
  By the way, solves issue #186, and closes pull request #187
  • Loading branch information
Dakurei committed Apr 25, 2023
1 parent 3699bc0 commit faace0f
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions lib/discordrb/bot.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
require 'discordrb/events/webhooks'
require 'discordrb/events/invites'
require 'discordrb/events/interactions'
require 'discordrb/events/threads'

require 'discordrb/api'
require 'discordrb/api/channel'
Expand Down Expand Up @@ -1593,16 +1594,16 @@ def handle_dispatch(type, data)
when :THREAD_CREATE
create_channel(data)

event = ThreadCreateEvent.new(data, bot)
event = ThreadCreateEvent.new(data, self)
raise_event(event)
when :THREAD_UPDATE
update_channel(data)

event = ThreadUpdateEvent.new(data, bot)
event = ThreadUpdateEvent.new(data, self)
raise_event(event)
when :THREAD_DELETE
channel_delete(data)
@thread_members.delete(data['id'])
@thread_members.delete(data['id']&.resolve_id)

# raise ThreadDeleteEvent
when :THREAD_LIST_SYNC
Expand All @@ -1613,12 +1614,12 @@ def handle_dispatch(type, data)
when :THREAD_MEMBER_UPDATE
ensure_thread_member(data)
when :THREAD_MEMBERS_UPDATE
data['added_members'].each do |added_member|
data['added_members']&.each do |added_member|
ensure_thread_member(added_member) if added_member['user_id']
end

data['removed_member_ids'].each do |member_id|
@thread_members[channel_id].delete(member_id)
data['removed_member_ids']&.each do |member_id|
@thread_members[data['id']&.resolve_id]&.delete(member_id&.resolve_id)
end

event = ThreadMembersUpdateEvent.new(data, self)
Expand Down

0 comments on commit faace0f

Please sign in to comment.