mirror of
https://github.com/paul-nameless/tg
synced 2024-11-22 03:43:19 +00:00
Merge pull request #178 from paul-nameless/mark-as-viewed
Mark msgs as viewed when sent new msg
This commit is contained in:
commit
c38b1186d1
2 changed files with 17 additions and 8 deletions
|
@ -263,6 +263,7 @@ class Controller:
|
|||
return
|
||||
reply_to_msg = self.model.current_msg_id
|
||||
if msg := self.view.status.get_input():
|
||||
self.model.view_all_msgs()
|
||||
self.tg.reply_message(chat_id, reply_to_msg, msg)
|
||||
self.present_info("Message reply sent")
|
||||
else:
|
||||
|
@ -286,6 +287,7 @@ class Controller:
|
|||
s.call(config.LONG_MSG_CMD.format(file_path=shlex.quote(f.name)))
|
||||
with open(f.name) as f:
|
||||
if replied_msg := strip_replied_msg(f.read().strip()):
|
||||
self.model.view_all_msgs()
|
||||
self.tg.reply_message(chat_id, reply_to_msg, replied_msg)
|
||||
self.present_info("Message sent")
|
||||
else:
|
||||
|
@ -697,10 +699,7 @@ class Controller:
|
|||
|
||||
@bind(chat_handler, ["r"])
|
||||
def read_msgs(self) -> None:
|
||||
chat = self.model.chats.chats[self.model.current_chat]
|
||||
chat_id = chat["id"]
|
||||
msg_id = chat["last_message"]["id"]
|
||||
self.tg.view_messages(chat_id, [msg_id])
|
||||
self.model.view_all_msgs()
|
||||
self.render()
|
||||
|
||||
@bind(chat_handler, ["m"])
|
||||
|
|
18
tg/models.py
18
tg/models.py
|
@ -77,9 +77,11 @@ class Model:
|
|||
return self.current_msg["id"]
|
||||
|
||||
def jump_bottom(self) -> bool:
|
||||
res = False
|
||||
if chat_id := self.chats.id_by_index(self.current_chat):
|
||||
return self.msgs.jump_bottom(chat_id)
|
||||
return False
|
||||
res = self.msgs.jump_bottom(chat_id)
|
||||
self.view_current_msg()
|
||||
return res
|
||||
|
||||
def set_current_chat_by_id(self, chat_id: int) -> bool:
|
||||
idx = next(
|
||||
|
@ -122,13 +124,18 @@ class Model:
|
|||
if chat_id := self.chats.id_by_index(self.current_chat):
|
||||
self.tg.view_messages(chat_id, [msg_id])
|
||||
|
||||
def view_all_msgs(self) -> None:
|
||||
chat = self.chats.chats[self.current_chat]
|
||||
chat_id = chat["id"]
|
||||
msg_id = chat["last_message"]["id"]
|
||||
self.tg.view_messages(chat_id, [msg_id])
|
||||
|
||||
def next_msg(self, step: int = 1) -> bool:
|
||||
chat_id = self.chats.id_by_index(self.current_chat)
|
||||
if not chat_id:
|
||||
return False
|
||||
is_next = self.msgs.next_msg(chat_id, step)
|
||||
if is_next:
|
||||
self.view_current_msg()
|
||||
self.view_current_msg()
|
||||
return is_next
|
||||
|
||||
def prev_msg(self, step: int = 1) -> bool:
|
||||
|
@ -155,6 +162,9 @@ class Model:
|
|||
chat_id = self.chats.id_by_index(self.current_chat)
|
||||
if chat_id is None:
|
||||
return False
|
||||
# order is matter: this should be before send_message
|
||||
# otherwise it will view message that was sent
|
||||
self.view_all_msgs()
|
||||
self.msgs.send_message(chat_id, text)
|
||||
return True
|
||||
|
||||
|
|
Loading…
Reference in a new issue