Skip to content

Instantly share code, notes, and snippets.

@chux0519
Created November 25, 2020 08:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chux0519/1f3765ae1d210a87f266ba034322cd4f to your computer and use it in GitHub Desktop.
Save chux0519/1f3765ae1d210a87f266ba034322cd4f to your computer and use it in GitHub Desktop.
tg
diff --git a/tg/controllers.py b/tg/controllers.py
index e608d94..f861a89 100644
--- a/tg/controllers.py
+++ b/tg/controllers.py
@@ -873,7 +873,7 @@ class Controller:
return
# notify
- if self.model.is_me(msg["sender_user_id"]):
+ if self.model.is_me(msg["sender"].get("user_id")):
return
user = self.model.users.get_user(msg.sender_id)
name = f"{user['first_name']} {user['last_name']}"
diff --git a/tg/models.py b/tg/models.py
index 9017590..c2b62f1 100644
--- a/tg/models.py
+++ b/tg/models.py
@@ -175,7 +175,8 @@ class Model:
return False
def can_be_deleted(self, chat_id: int, msg: Dict[str, Any]) -> bool:
- if chat_id == msg["sender_user_id"]:
+ c_id = msg["sender"].get("chat_id") or msg["sender"].get("user_id")
+ if chat_id == c_id:
return msg["can_be_deleted_only_for_self"]
return msg["can_be_deleted_for_all_users"]
diff --git a/tg/msg.py b/tg/msg.py
index deb5288..3084c6c 100644
--- a/tg/msg.py
+++ b/tg/msg.py
@@ -218,7 +218,7 @@ class MsgProxy:
@property
def sender_id(self) -> int:
- return self.msg["sender_user_id"]
+ return self.msg["sender"].get("user_id") or self.msg["sender"].get("chat_id")
@property
def forward(self) -> Optional[Dict[str, Any]]:
diff --git a/tg/views.py b/tg/views.py
index 20665b3..2703cf8 100644
--- a/tg/views.py
+++ b/tg/views.py
@@ -240,7 +240,7 @@ class ChatView:
msg = chat.get("last_message")
if (
msg
- and self.model.is_me(msg["sender_user_id"])
+ and self.model.is_me(msg["sender"].get("user_id"))
and msg["id"] > chat["last_read_outbox_message_id"]
and not self.model.is_me(chat["id"])
):
@@ -248,7 +248,7 @@ class ChatView:
flags.append("unseen")
elif (
msg
- and self.model.is_me(msg["sender_user_id"])
+ and self.model.is_me(msg["sender"].get("user_id"))
and msg["id"] <= chat["last_read_outbox_message_id"]
):
flags.append("seen")
@@ -588,7 +588,7 @@ def get_last_msg(
if not last_msg:
return None, "<No messages yet>"
return (
- last_msg["sender_user_id"],
+ last_msg["sender"].get("user_id"),
parse_content(MsgProxy(last_msg), users),
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment