openChat static method

Future<bool> openChat(
  1. UMessenger messenger,
  2. String target, {
  3. String? text,
})

Implementation

static Future<bool> openChat(UMessenger messenger, String target, {String? text}) {
  final String t = text == null ? "" : Uri.encodeComponent(text);
  final String digits = target.replaceAll(RegExp("[^0-9]"), "");
  final String url = switch (messenger) {
    UMessenger.whatsapp => "https://wa.me/$digits${t.isEmpty ? "" : "?text=$t"}",
    UMessenger.telegram => target.startsWith("+") ? "https://t.me/$target" : "https://t.me/${target.replaceFirst("@", "")}${t.isEmpty ? "" : "?text=$t"}",
    UMessenger.eitaa => "https://eitaa.com/${target.replaceFirst("@", "")}",
    UMessenger.rubika => "https://rubika.ir/${target.replaceFirst("@", "")}",
    UMessenger.bale => "https://ble.ir/${target.replaceFirst("@", "")}",
    UMessenger.soroush => "https://splus.ir/${target.replaceFirst("@", "")}",
    UMessenger.instagram => "https://instagram.com/${target.replaceFirst("@", "")}",
    UMessenger.x => "https://x.com/${target.replaceFirst("@", "")}",
  };
  return open(url, mode: ULaunchMode.external);
}