1.0.8 • Published 1 year ago

web3-mq-snaps v1.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Web3-mq snap

mq-web3 snap provides more possibilities for building web3 social dapps

You can familiarize yourself with mq-web3 snap based on the following example

Before starting, you need to install the flask plugin on your browser. After the plugin is installed, execute the following code in your dapp to install the mq-web3 snap

Installation

const connect = async function () {
  await window.ethereum.request({
    method: "wallet_enable",
    params: [
      {
        wallet_snap: {
          ["npm:web3-mq-snaps"]: {
            version: "^1.0.6",
          },
        },
      },
    ],
  });
};
connect();

Methods

nametypeParameters Descriptionresponse
creatRoomfunction1.group_name?: string 2. avatar_url ?: stringObject: Web3-MQ Client
queryChannelListfunction1. options: PageParamsPromise: activechanneltype[]
getTargetUserIdfunction1. address: stringPromise: searchusersresponse
sendMessagefunction1. msg: string 2. topic : stringPromise: void
getMessageListfunction1. options: PageParams 2.topic: stringPromise: messagelistitem[]
sendNotifyMessagefunction1. message: stringPromise: void

Useage

creatRoom()

Create Web3MQ chat room

const createRoomsBySnaps = async (roomName: string = "") => {
  return await ethereum.request({
    method: "wallet_invokeSnap",
    params: [
      newSnapId,
      {
        method: "creatRoom",
        payload: { group_name: roomName },
      },
    ],
  });
};

queryChannelList()

Get user all channel list

const getChannelListBySnaps = async () => {
  //@ts-ignore
  return await ethereum.request({
    method: "wallet_invokeSnap",
    params: [
      newSnapId,
      {
        method: "queryChannelList",
        payload: { options: { page: 1, size: 100 } },
      },
    ],
  });
};

getTargetUserId()

Get Web3MQ userid by wallet address

const getUserIdByAddress = async (address: string) => {
    //@ts-ignore
    return await ethereum.request({
        method: "wallet_invokeSnap",
        params: [
            newSnapId,
            {
                method: "getTargetUserId",
                payload: address,
            },
        ],
    });
}

sendMessage()

Send Message to chat room or Web3MQ user

const sendMessageBySnaps = async (msg: string, topic: string) => {
  //@ts-ignore
  return await ethereum.request({
    method: "wallet_invokeSnap",
    params: [
      newSnapId,
      {
        method: "sendMessage",
        payload: { msg, topic },
      },
    ],
  });
};
### getMessageList()
> Get channel history message
```ts
const getMessagesBySnaps = async (topic: string) => {
    //@ts-ignore
    return await ethereum.request({
        method: "wallet_invokeSnap",
        params: [
            newSnapId,
            {
                method: "getMessageList",
                payload: {
                    options: { page: 1, size: 100 },
                    topic,
                },
            },
        ],
    });
}

sendNotifyMessage()

export const sendNotifyMessage = async (message: string) => {
    //@ts-ignore
    return await ethereum.request({
        method: "wallet_invokeSnap",
        params: [
            newSnapId,
            {
                method: "sendNotifyMessage",
                payload: { message },
            },
        ],
    });
};
1.0.8

1 year ago

1.0.6

1 year ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.2

2 years ago