warp-beacon 2.3.11__py3-none-any.whl → 2.3.13__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- __version__ = "2.3.11"
1
+ __version__ = "2.3.13"
2
2
 
@@ -3,8 +3,7 @@ from typing import Union, Optional
3
3
  import re
4
4
 
5
5
  from pyrogram import Client
6
- from pyrogram.types import Message
7
- from pyrogram.types import ChatMember
6
+ from pyrogram.types import Message, ChatMember
8
7
  from pyrogram import enums
9
8
 
10
9
  from warp_beacon.jobs import Origin
@@ -108,19 +107,39 @@ class Utils(object):
108
107
  @staticmethod
109
108
  async def handle_mentions(chat_id: int, client: Client, message: str) -> str:
110
109
  try:
110
+ logging.info("Processing chat_id: '%s'", str(chat_id))
111
+ chat = await client.get_chat(chat_id)
112
+ chat_id = chat.id
113
+
114
+ chat_member = await client.get_chat_member(chat_id, client.me.id)
115
+ if chat_member.status not in (enums.ChatMemberStatus.ADMINISTRATOR, enums.ChatMemberStatus.OWNER):
116
+ logging.warning("Bot is not an admin in this channel!")
117
+ return message
118
+
111
119
  username = ''
112
120
  members = [member async for member in client.get_chat_members(chat_id)]
113
121
  mentions = Utils.mention_re.findall(message)
114
122
  for mention in mentions:
115
123
  username = mention[1:].strip()
116
124
  if username:
117
- user_id = 0
125
+ user_id = None
126
+ display_name = username
127
+
118
128
  for member in members:
119
- if member.user.username == username:
129
+ if member.user.username and member.user.username.lower() == username.lower():
120
130
  user_id = member.user.id
131
+ display_name = member.user.first_name or member.user.last_name or username
121
132
  break
133
+
134
+ if user_id is None:
135
+ for member in members:
136
+ if member.user.first_name and member.user.first_name.lower() == username.lower():
137
+ user_id = member.user.id
138
+ display_name = member.user.first_name
139
+ break
140
+
122
141
  if user_id:
123
- message.replace(f"@{username}", f'<a href="tg://user?id={user_id}">{username}</a>')
142
+ message = message.replace(f"@{username}", f'<a href="tg://user?id={user_id}">{display_name}</a>')
124
143
  except Exception as e:
125
144
  logging.warning("Exception occurred while handling TG mentions!")
126
145
  logging.exception(e)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: warp_beacon
3
- Version: 2.3.11
3
+ Version: 2.3.13
4
4
  Summary: Telegram bot for expanding external media links
5
5
  Home-page: https://github.com/sb0y/warp_beacon
6
6
  Author: Andrey Bagrintsev
@@ -4,7 +4,7 @@ var/warp_beacon/accounts.json,sha256=OsXdncs6h88xrF_AP6_WDCK1waGBn9SR-uYdIeK37GM
4
4
  var/warp_beacon/placeholder.gif,sha256=cE5CGJVaop4Sx21zx6j4AyoHU0ncmvQuS2o6hJfEH88,6064
5
5
  var/warp_beacon/proxies.json,sha256=VnjlQDXumOEq72ZFjbh6IqHS1TEHqn8HPYAZqWCeSIA,95
6
6
  warp_beacon/__init__.py,sha256=_rThNODmz0nDp_n4mWo_HKaNFE5jk1_7cRhHyYaencI,163
7
- warp_beacon/__version__.py,sha256=BzJRM_mMtiS3niWk0icUZUhWdSnzOpj65xdRKSCSbww,24
7
+ warp_beacon/__version__.py,sha256=SvYyCmpESQQDFw3ipWnDZ2_z5YrFNpHWnKvL17dpQzw,24
8
8
  warp_beacon/warp_beacon.py,sha256=7KEtZDj-pdhtl6m-zFLsSojs1ZR4o7L0xbqtdmYPvfE,342
9
9
  warp_beacon/compress/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  warp_beacon/compress/video.py,sha256=_PDMVYCyzLYxHv1uZmmzGcG_8rjaZr7BTXsXTTy_oS4,2846
@@ -39,11 +39,11 @@ warp_beacon/telegram/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
39
39
  warp_beacon/telegram/bot.py,sha256=u3yvXIcqFtVkrf82IXiC4y-UnrEySw49_immBoXIBN4,15725
40
40
  warp_beacon/telegram/handlers.py,sha256=7gldKrX-CTDQNfD1NQ08cC31uPR-95mhN59OujAEqZg,7704
41
41
  warp_beacon/telegram/placeholder_message.py,sha256=wN9-BRiyrtHG-EvXtZkGJHt2CX71munQ57ITttjt0mw,6400
42
- warp_beacon/telegram/utils.py,sha256=2F65YhOgB5MUbRjv4I-NAwULkMDkXZahZDTwpLSrzTY,3636
42
+ warp_beacon/telegram/utils.py,sha256=YoCITXrz5sS-63o_Xtl5dFXZh0W5G9vxI4el961wkkw,4390
43
43
  warp_beacon/uploader/__init__.py,sha256=5KRWsxPRGuQ56YhCEnJsXnb-yQp8dpvWEsPDf0dD-fw,4964
44
- warp_beacon-2.3.11.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
45
- warp_beacon-2.3.11.dist-info/METADATA,sha256=SOLeAnkO7fAg-VlBg0Sgks5U8Ti1IoHw-dkI0QLTAdQ,21704
46
- warp_beacon-2.3.11.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
47
- warp_beacon-2.3.11.dist-info/entry_points.txt,sha256=eSB61Rb89d56WY0O-vEIQwkn18J-4CMrJcLA_R_8h3g,119
48
- warp_beacon-2.3.11.dist-info/top_level.txt,sha256=XusFB1mGUStI2gqbtRuJzQrfrAXmdMaT3QTyfvdLEXI,1064
49
- warp_beacon-2.3.11.dist-info/RECORD,,
44
+ warp_beacon-2.3.13.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
45
+ warp_beacon-2.3.13.dist-info/METADATA,sha256=vj0CPRmTaWO3jAc8jiCWcNFGIv2ySMpDWus02QuCmug,21704
46
+ warp_beacon-2.3.13.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
47
+ warp_beacon-2.3.13.dist-info/entry_points.txt,sha256=eSB61Rb89d56WY0O-vEIQwkn18J-4CMrJcLA_R_8h3g,119
48
+ warp_beacon-2.3.13.dist-info/top_level.txt,sha256=XusFB1mGUStI2gqbtRuJzQrfrAXmdMaT3QTyfvdLEXI,1064
49
+ warp_beacon-2.3.13.dist-info/RECORD,,