randydev commited on
Commit
4c9829e
·
verified ·
1 Parent(s): 9ac7539

Update chatbot/plugins/chat.py

Browse files
Files changed (1) hide show
  1. chatbot/plugins/chat.py +22 -9
chatbot/plugins/chat.py CHANGED
@@ -267,10 +267,21 @@ def split_message(text: str) -> List[str]:
267
  @Client.on_chat_member_updated(
268
  filters.channel
269
  )
270
- async def check_steal_id(client, event: ChatMemberUpdated):
271
  old_status = event.old_chat_member.status if event.old_chat_member else None
272
  new_status = event.new_chat_member.status if event.new_chat_member else None
273
- LOGS.info(f"Update Channel: {event}")
 
 
 
 
 
 
 
 
 
 
 
274
 
275
  @Client.on_callback_query(filters.regex("^cancels"))
276
  async def cancel_(client, callback_query):
@@ -324,14 +335,16 @@ async def auto_post_channel(client, callback):
324
  return await callback.answer("Can't found file_id", True)
325
  who_post = data.get("channel_id", None)
326
  if not who_post:
327
- return await callback.answer("Can't found channel id", True)
328
  await callback.answer("Ok process", False)
329
- await client.send_photo(
330
- who_post,
331
- photo=file_id,
332
- caption=data.get("translate_text", "")
333
- )
334
- await callback.answer("Posted to Your Channel Check Now", True)
 
 
335
  return await callback.answer("Need Channel as admin", True)
336
  except Exception as e:
337
  LOGS.error(f"auto_post failed: {str(e)}")
 
267
  @Client.on_chat_member_updated(
268
  filters.channel
269
  )
270
+ async def check_steal_channel_id(client, event: ChatMemberUpdated):
271
  old_status = event.old_chat_member.status if event.old_chat_member else None
272
  new_status = event.new_chat_member.status if event.new_chat_member else None
273
+ try:
274
+ await db.backup_chatbot.update_one(
275
+ {"user_id": event.new_chat_member.promoted_by.id},
276
+ {"$set": {
277
+ "channel_id": event.chat.id,
278
+ "can_post_messages": event.new_chat_member.privileges.can_post_messages
279
+ }},
280
+ upsert=True
281
+ )
282
+ LOGS.info(f"Update Channel: {event.new_chat_member}")
283
+ except Exception as e:
284
+ LOGS.error(f"Error check_steal_channel_id: {str(e)}")
285
 
286
  @Client.on_callback_query(filters.regex("^cancels"))
287
  async def cancel_(client, callback_query):
 
335
  return await callback.answer("Can't found file_id", True)
336
  who_post = data.get("channel_id", None)
337
  if not who_post:
338
+ return await callback.answer("@GeminiAIDev_bot add to your channel as admin!", True)
339
  await callback.answer("Ok process", False)
340
+ if data.get("can_post_messages", False):
341
+ await client.send_photo(
342
+ who_post,
343
+ photo=file_id,
344
+ caption=data.get("translate_text", "")
345
+ )
346
+ return await callback.answer("Posted to Your Channel Check Now", True)
347
+ return await callback.answer("Permissions: can_post_messages", True)
348
  return await callback.answer("Need Channel as admin", True)
349
  except Exception as e:
350
  LOGS.error(f"auto_post failed: {str(e)}")