ios - 从 iOS 应用程序打开 Telegram 聊天(使用机器人)

标签 ios swift3 telegram telegram-bot

我正在尝试从我的应用程序打开 Telegram,以便用户与我制作的机器人交谈。到目前为止,它正在运行,但我发现打开机器人聊天的唯一方法是使用 https://telegram.me/MyBot网址。但是这样,它会打开 Safari,然后询问用户是否要在 Telegram 应用程序上打开它。最初是询问一次,然后,在第一次之后,它只是通过 safari 并自动打开 Telegram。但它停止了,现在,每次它加载 Safari 时,有时甚至不显示询问用户是否可以打开 Telegram 应用程序的弹出窗口。

有什么方法可以使用那个“tg://”url(应该直接打开 Telegram 应用程序)来打开与机器人的聊天吗?只看到带有电话号码的工作示例。尝试了不同的方法,但都没有成功......

任何帮助都会很棒。

提前致谢!

最佳答案

swift 3/4/5+

这正是您要找的:

let botURL = URL.init(string: "tg://resolve?domain=MyBot")

if UIApplication.shared.canOpenURL(botURL!) {
    UIApplication.shared.openURL(botURL!)
} else {
  // Telegram is not installed.
}

不要忘记将 Telegram 的 URI 模式添加到 info.plist:

<key>LSApplicationQueriesSchemes</key>
<array>
   <string>tg</string>
</array>

关于ios - 从 iOS 应用程序打开 Telegram 聊天(使用机器人),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595363/

相关文章:

ios - 在 Swift 中的代码中向 iOS 应用程序添加启动屏幕(没有 Storyboard或启动板)

telegram - 如何确认电话号码是否属于 Telegram Bot 中的user_id

api - 如何使用 telegram 内联机器人获取群组 ID 和聊天 ID?

ios - 如何使用 Firebase 读取推送通知中发送的自定义数据

ios - 带闭包的强引用循环

ios - 从 swift 3 发送电子邮件

python - 采样音频不保留波(矢量)!

ios - 可以从 iOS PhoneGap 插件启动index.html

ios - 在 XCode 6 的 Storyboard 中使用自定义字体

ios - CoreData - 使用 NSManagedObjects 填充 TableView 但只保存一个