Skip to content

Commit eb9980a

Browse files
committed
minor changes
Signed-off-by: anasty17 <e.anastayyar@gmail.com>
1 parent 8988404 commit eb9980a

2 files changed

Lines changed: 53 additions & 27 deletions

File tree

bot/helper/common.py

Lines changed: 42 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -379,21 +379,37 @@ async def before_start(self):
379379
except:
380380
chat = None
381381
if chat is None:
382+
LOGGER.warning(
383+
"Account of user session can't find the the destination chat!"
384+
)
382385
self.user_transmission = False
383386
self.hybrid_leech = False
384387
else:
385-
uploader_id = TgClient.user.me.id
386-
if chat.type.name not in ["SUPERGROUP", "CHANNEL", "GROUP"]:
388+
if chat.type.name not in [
389+
"SUPERGROUP",
390+
"CHANNEL",
391+
"GROUP",
392+
"FORUM",
393+
]:
387394
self.user_transmission = False
388395
self.hybrid_leech = False
389-
else:
390-
member = await chat.get_member(uploader_id)
396+
elif chat.is_admin:
397+
member = await chat.get_member(TgClient.user.me.id)
391398
if (
392399
not member.privileges.can_manage_chat
393400
or not member.privileges.can_delete_messages
394401
):
395402
self.user_transmission = False
396403
self.hybrid_leech = False
404+
LOGGER.warning(
405+
"Enable manage chat and delete messages to account of the user session from administration settings!"
406+
)
407+
else:
408+
LOGGER.warning(
409+
"Promote the account of the user session to admin in the chat to get the benefit of user transmission!"
410+
)
411+
self.user_transmission = False
412+
self.hybrid_leech = False
397413

398414
if not self.user_transmission or self.hybrid_leech:
399415
try:
@@ -406,19 +422,28 @@ async def before_start(self):
406422
else:
407423
raise ValueError("Chat not found!")
408424
else:
409-
uploader_id = self.client.me.id
410-
if chat.type.name in ["SUPERGROUP", "CHANNEL", "GROUP"]:
411-
member = await chat.get_member(uploader_id)
412-
if (
413-
not member.privileges.can_manage_chat
414-
or not member.privileges.can_delete_messages
415-
):
416-
if not self.user_transmission:
417-
raise ValueError(
418-
"You don't have enough privileges in this chat!"
419-
)
420-
else:
421-
self.hybrid_leech = False
425+
if chat.type.name in [
426+
"SUPERGROUP",
427+
"CHANNEL",
428+
"GROUP",
429+
"FORUM",
430+
]:
431+
if not chat.is_admin:
432+
raise ValueError(
433+
"Bot is not admin in the destination chat!"
434+
)
435+
else:
436+
member = await chat.get_member(self.client.me.id)
437+
if (
438+
not member.privileges.can_manage_chat
439+
or not member.privileges.can_delete_messages
440+
):
441+
if not self.user_transmission:
442+
raise ValueError(
443+
"You don't have enough privileges in this chat! Enable manage chat and delete messages for this bot!"
444+
)
445+
else:
446+
self.hybrid_leech = False
422447
else:
423448
try:
424449
await self.client.send_chat_action(

bot/modules/rss.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -580,13 +580,13 @@ async def rss_listener(client, query):
580580
await update_rss_menu(query)
581581
elif data[1].endswith("pause"):
582582
async with rss_dict_lock:
583-
for title in list(rss_dict[int(data[2])].keys()):
584-
rss_dict[int(data[2])][title]["paused"] = True
583+
for info in rss_dict[int(data[2])].values():
584+
info["paused"] = True
585585
await database.rss_update(int(data[2]))
586586
elif data[1].endswith("resume"):
587587
async with rss_dict_lock:
588-
for title in list(rss_dict[int(data[2])].keys()):
589-
rss_dict[int(data[2])][title]["paused"] = False
588+
for info in rss_dict[int(data[2])].values():
589+
info["paused"] = False
590590
if scheduler.state == 2:
591591
scheduler.resume()
592592
await database.rss_update(int(data[2]))
@@ -603,22 +603,23 @@ async def rss_listener(client, query):
603603
await update_rss_menu(query)
604604
elif data[1].endswith("pause"):
605605
async with rss_dict_lock:
606-
for user in list(rss_dict.keys()):
607-
for title in list(rss_dict[user].keys()):
608-
rss_dict[int(data[2])][title]["paused"] = True
606+
for user_feeds in rss_dict.values():
607+
for feed in user_feeds.values():
608+
feed["paused"] = True
609609
if scheduler.running:
610610
scheduler.pause()
611611
await database.rss_update_all()
612612
elif data[1].endswith("resume"):
613613
async with rss_dict_lock:
614-
for user in list(rss_dict.keys()):
615-
for title in list(rss_dict[user].keys()):
616-
rss_dict[int(data[2])][title]["paused"] = False
614+
for user_feeds in rss_dict.values():
615+
for feed in user_feeds.values():
616+
feed["paused"] = False
617617
if scheduler.state == 2:
618618
scheduler.resume()
619619
elif not scheduler.running:
620620
add_job()
621621
scheduler.start()
622+
await update_rss_menu(query)
622623
await database.rss_update_all()
623624
elif data[1] == "deluser":
624625
if len(rss_dict) == 0:

0 commit comments

Comments
 (0)