lunarflu HF staff commited on
Commit
0022591
1 Parent(s): ca7a70a

testing adding/removing tags

Browse files
Files changed (1) hide show
  1. app.py +26 -4
app.py CHANGED
@@ -178,12 +178,23 @@ SOLVED_TAG_IDS = {1026743978026094664, 1025179659215847575, 1263095032328753174,
178
  @bot.event
179
  async def on_thread_update(before, after):
180
  if isinstance(after.parent, discord.ForumChannel) and after.parent.id in {ASK_FOR_HELP_CHANNEL_ID, GRADIO_CHANNEL_ID, ARGILLA_HELP_CHANNEL_ID, DATA_DISCUSSIONS_CHANNEL_ID}:
181
- if any(tag.id in SOLVED_TAG_IDS for tag in after.applied_tags):
182
- discord_thread_id = after.id
183
- if discord_thread_id in thread_mapping:
184
- slack_thread_ts = thread_mapping[discord_thread_id]
 
 
 
 
 
 
 
 
185
  react_to_slack_message(slack_thread_ts, 'white_check_mark')
186
 
 
 
 
187
 
188
  def react_to_slack_message(thread_ts, emoji):
189
  try:
@@ -195,6 +206,17 @@ def react_to_slack_message(thread_ts, emoji):
195
  except SlackApiError as e:
196
  print(f"Error reacting to Slack message: {e.response['error']}")
197
 
 
 
 
 
 
 
 
 
 
 
 
198
  #----------------------------------------------------------------------------------------------
199
 
200
  def send_daily_pings():
 
178
  @bot.event
179
  async def on_thread_update(before, after):
180
  if isinstance(after.parent, discord.ForumChannel) and after.parent.id in {ASK_FOR_HELP_CHANNEL_ID, GRADIO_CHANNEL_ID, ARGILLA_HELP_CHANNEL_ID, DATA_DISCUSSIONS_CHANNEL_ID}:
181
+
182
+ before_tag_ids = {tag.id for tag in before.applied_tags}
183
+ after_tag_ids = {tag.id for tag in after.applied_tags}
184
+
185
+ added_tags = after_tag_ids - before_tag_ids
186
+ removed_tags = before_tag_ids - after_tag_ids
187
+
188
+ discord_thread_id = after.id
189
+ if discord_thread_id in thread_mapping:
190
+ slack_thread_ts = thread_mapping[discord_thread_id]
191
+
192
+ if any(tag_id in SOLVED_TAG_IDS for tag_id in added_tags):
193
  react_to_slack_message(slack_thread_ts, 'white_check_mark')
194
 
195
+ if any(tag_id in SOLVED_TAG_IDS for tag_id in removed_tags):
196
+ unreact_to_slack_message(slack_thread_ts, 'white_check_mark')
197
+
198
 
199
  def react_to_slack_message(thread_ts, emoji):
200
  try:
 
206
  except SlackApiError as e:
207
  print(f"Error reacting to Slack message: {e.response['error']}")
208
 
209
+
210
+ def unreact_to_slack_message(thread_ts, emoji):
211
+ try:
212
+ response = slack_client.reactions_remove(
213
+ channel=SLACK_CHANNEL_ID,
214
+ name=emoji,
215
+ timestamp=thread_ts
216
+ )
217
+ except SlackApiError as e:
218
+ print(f"Error removing reaction from Slack message: {e.response['error']}")
219
+
220
  #----------------------------------------------------------------------------------------------
221
 
222
  def send_daily_pings():