@gphone/sdk
    Preparing search index...

    Function useMessages

    • OS Service Hook for accessing SMS messaging.

      Returns {
          addReceivedMessage: (
              message: {
                  avatar?: string;
                  conversation_id?: number;
                  created_at?: string;
                  message?: string;
                  phone?: string;
                  reply_to_id?: number | null;
                  senderName?: string;
              },
          ) => void;
          conversationsStore: {
              activeConversationId: {
                  subscribe: (
                      this: void,
                      run: Subscriber<number | null>,
                      invalidate?: () => void,
                  ) => Unsubscriber;
              };
              addReceivedMessage: (
                  incoming: {
                      avatar?: string;
                      conversation_id?: number;
                      created_at?: string;
                      message?: string;
                      phone?: string;
                      reply_to_id?: number | null;
                      senderName?: string;
                  },
              ) => void;
              archiveConversation: (
                  conversationId: number,
                  archive?: boolean,
              ) => Promise<void>;
              deleteConversation: (conversationId: number) => Promise<void>;
              loadConversations: () => Promise<void>;
              loaded: {
                  subscribe: (
                      this: void,
                      run: Subscriber<boolean>,
                      invalidate?: () => void,
                  ) => Unsubscriber;
              };
              loadMessages: (conversationId: number) => Promise<void>;
              markAsRead: (conversationId: number) => Promise<void>;
              messages: {
                  subscribe: (
                      this: void,
                      run: Subscriber<Record<number, UIMessage[]>>,
                      invalidate?: () => void,
                  ) => Unsubscriber;
              };
              renameConversation: (
                  conversationId: number,
                  name: string,
              ) => Promise<void>;
              sendMessage: (
                  conversationId: number,
                  message: string,
                  attachments?: { attachment?: string; photo_id: number }[],
                  replyToId?: number | null,
              ) => Promise<Message | null>;
              setActiveConversationId: (id: number | null) => void;
              startConversation: (
                  phone: string,
                  isGroup?: boolean,
              ) => Promise<UIConversation | null>;
              subscribe: (
                  this: void,
                  run: Subscriber<UIConversation[]>,
                  invalidate?: () => void,
              ) => Unsubscriber;
          };
          sendMessage: (
              conversationId: number,
              text: string,
          ) => Promise<Message | null>;
          startText: (phone: string) => void;
          unreadMessagesCount: Readable<number>;
      }

      • addReceivedMessage: (
            message: {
                avatar?: string;
                conversation_id?: number;
                created_at?: string;
                message?: string;
                phone?: string;
                reply_to_id?: number | null;
                senderName?: string;
            },
        ) => void
      • conversationsStore: {
            activeConversationId: {
                subscribe: (
                    this: void,
                    run: Subscriber<number | null>,
                    invalidate?: () => void,
                ) => Unsubscriber;
            };
            addReceivedMessage: (
                incoming: {
                    avatar?: string;
                    conversation_id?: number;
                    created_at?: string;
                    message?: string;
                    phone?: string;
                    reply_to_id?: number | null;
                    senderName?: string;
                },
            ) => void;
            archiveConversation: (
                conversationId: number,
                archive?: boolean,
            ) => Promise<void>;
            deleteConversation: (conversationId: number) => Promise<void>;
            loadConversations: () => Promise<void>;
            loaded: {
                subscribe: (
                    this: void,
                    run: Subscriber<boolean>,
                    invalidate?: () => void,
                ) => Unsubscriber;
            };
            loadMessages: (conversationId: number) => Promise<void>;
            markAsRead: (conversationId: number) => Promise<void>;
            messages: {
                subscribe: (
                    this: void,
                    run: Subscriber<Record<number, UIMessage[]>>,
                    invalidate?: () => void,
                ) => Unsubscriber;
            };
            renameConversation: (conversationId: number, name: string) => Promise<void>;
            sendMessage: (
                conversationId: number,
                message: string,
                attachments?: { attachment?: string; photo_id: number }[],
                replyToId?: number | null,
            ) => Promise<Message | null>;
            setActiveConversationId: (id: number | null) => void;
            startConversation: (
                phone: string,
                isGroup?: boolean,
            ) => Promise<UIConversation | null>;
            subscribe: (
                this: void,
                run: Subscriber<UIConversation[]>,
                invalidate?: () => void,
            ) => Unsubscriber;
        }
        • activeConversationId: {
              subscribe: (
                  this: void,
                  run: Subscriber<number | null>,
                  invalidate?: () => void,
              ) => Unsubscriber;
          }
          • subscribe: (
                this: void,
                run: Subscriber<number | null>,
                invalidate?: () => void,
            ) => Unsubscriber
        • addReceivedMessage: (
              incoming: {
                  avatar?: string;
                  conversation_id?: number;
                  created_at?: string;
                  message?: string;
                  phone?: string;
                  reply_to_id?: number | null;
                  senderName?: string;
              },
          ) => void
        • archiveConversation: (conversationId: number, archive?: boolean) => Promise<void>
        • deleteConversation: (conversationId: number) => Promise<void>
        • loadConversations: () => Promise<void>
        • loaded: {
              subscribe: (
                  this: void,
                  run: Subscriber<boolean>,
                  invalidate?: () => void,
              ) => Unsubscriber;
          }
          • subscribe: (this: void, run: Subscriber<boolean>, invalidate?: () => void) => Unsubscriber
        • loadMessages: (conversationId: number) => Promise<void>
        • markAsRead: (conversationId: number) => Promise<void>
        • messages: {
              subscribe: (
                  this: void,
                  run: Subscriber<Record<number, UIMessage[]>>,
                  invalidate?: () => void,
              ) => Unsubscriber;
          }
          • subscribe: (
                this: void,
                run: Subscriber<Record<number, UIMessage[]>>,
                invalidate?: () => void,
            ) => Unsubscriber
        • renameConversation: (conversationId: number, name: string) => Promise<void>
        • sendMessage: (
              conversationId: number,
              message: string,
              attachments?: { attachment?: string; photo_id: number }[],
              replyToId?: number | null,
          ) => Promise<Message | null>
        • setActiveConversationId: (id: number | null) => void
        • startConversation: (phone: string, isGroup?: boolean) => Promise<UIConversation | null>
        • subscribe: (
              this: void,
              run: Subscriber<UIConversation[]>,
              invalidate?: () => void,
          ) => Unsubscriber
      • sendMessage: (conversationId: number, text: string) => Promise<Message | null>
      • startText: (phone: string) => void

        Open Messages and start (or resume) a conversation with a bare phone number — no saved Contact required. See GPHONE-15.

      • unreadMessagesCount: Readable<number>