(self, item: dict)
| 529 | return self.make_response(item, {"count": len(out), "dialogs": out}) |
| 530 | |
| 531 | def cmd_tg_messages_get(self, item: dict) -> dict: |
| 532 | if self._mode() != "user": |
| 533 | return self.make_response(item, "tg_messages_get is available in user mode only.") |
| 534 | p = item.get("params", {}) or {} |
| 535 | chat = p.get("chat") |
| 536 | limit = int(p.get("limit") or 30) |
| 537 | if not chat: |
| 538 | return self.make_response(item, "Param 'chat' required.") |
| 539 | client = self._tl_get_client(need_auth=True) |
| 540 | ent = self._tl_resolve(client, chat) |
| 541 | |
| 542 | kwargs = {} |
| 543 | if p.get("offset_id"): |
| 544 | kwargs["offset_id"] = int(p["offset_id"]) |
| 545 | if p.get("min_id"): |
| 546 | kwargs["min_id"] = int(p["min_id"]) |
| 547 | if p.get("max_id"): |
| 548 | kwargs["max_id"] = int(p["max_id"]) |
| 549 | if p.get("search"): |
| 550 | kwargs["search"] = p.get("search") |
| 551 | |
| 552 | msgs = client.get_messages(ent, limit=limit, **kwargs) |
| 553 | out = [] |
| 554 | for m in msgs: |
| 555 | out.append({ |
| 556 | "id": m.id, |
| 557 | "date": m.date.isoformat() if m.date else None, |
| 558 | "text": m.message or "", |
| 559 | "sender_id": getattr(m, "sender_id", None), |
| 560 | "reply_to": getattr(m, "reply_to_msg_id", None), |
| 561 | "media": bool(m.media), |
| 562 | }) |
| 563 | return self.make_response(item, {"count": len(out), "messages": out}) |
no test coverage detected