sendMessage method

Future<void> sendMessage()

Implementation

Future<void> sendMessage() async {
  V2TimValueCallback<V2TimMsgCreateInfoResult> createTextMessageRes =
      await TencentImSDKPlugin.v2TIMManager
          .getMessageManager()
          .createTextMessage(
            text: textEditingController.text,
          );
  if (createTextMessageRes.code == 0) {
    String? id = createTextMessageRes.data?.id;
    V2TimValueCallback<V2TimMessage> sendMessageRes =
        await TencentImSDKPlugin.v2TIMManager.getMessageManager().sendMessage(
              id: id!,
              receiver: "",
              groupID: roomId,
              priority: MessagePriorityEnum.V2TIM_PRIORITY_DEFAULT,
            );
    if (sendMessageRes.code == 0) {
      textEditingController.clear();
      showInputField.value = false;
      showEmojiPanel.value = false;
      FloatChatStore.to.messageList.add(MessageModel(
          msgID: sendMessageRes.data!.msgID!,
          userName: sendMessageRes.data?.nickName ??
              sendMessageRes.data?.sender ??
              "",
          text: sendMessageRes.data?.textElem?.text ?? ""));
    } else {
      Fluttertoast.showToast(
        msg: sendMessageRes.code == 10017
            ? "muteMessage".translate()
            : sendMessageRes.desc,
        toastLength: Toast.LENGTH_SHORT,
        gravity: ToastGravity.CENTER,
        backgroundColor: FloatChatColors.toastBlack,
        textColor: Colors.white,
        fontSize: 16,
      );
    }
  }
}