Luc*_*ida 5 ios telegram telegram-bot swift3
我正试图从我的应用程序打开Telegram,以便用户与我制作的机器人交谈.到目前为止,它正在工作,但我发现打开机器人聊天的唯一方法是使用https://telegram.me/MyBot网址.但是这样,它打开Safari,然后询问用户是否要在Telegram应用程序上打开它.最初它要求一次,然后,在第一次之后,它只是通过safari并自动打开Telegram.但它已停止,现在,每次加载Safari时,有时甚至不显示弹出窗口询问用户是否可以打开Telegram应用程序.
有没有办法使用'tg://'url(应该直接打开Telegram应用程序)打开与bot的聊天?只看到电话号码的工作示例.以不同方式尝试但根本没有成功......
任何帮助都会很棒.
提前致谢!
mat*_*ema 13
Swift 3.0.1
这正是你要找的:
let botURL = URL.init(string: "tg://resolve?domain=MyBot")
if UIApplication.shared.canOpenURL(botURL!) {
UIApplication.shared.openURL(botURL!)
} else {
// Telegram is not installed.
}
Run Code Online (Sandbox Code Playgroud)
不要忘记将电报的URI模式添加到info.plist:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>tg</string>
</array>
Run Code Online (Sandbox Code Playgroud)
适用于 Swift 4.2+ 和 iOS 9+
let screenName = "und3rflow" // <<< ONLY CHANGE THIS ID
let appURL = NSURL(string: "tg://resolve?domain=\(screenName)")!
let webURL = NSURL(string: "https://t.me/\(screenName)")!
if UIApplication.shared.canOpenURL(appURL as URL) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(appURL as URL, options: [:], completionHandler: nil)
}
else {
UIApplication.shared.openURL(appURL as URL)
}
}
else {
//redirect to safari because user doesn't have Telegram
if #available(iOS 10.0, *) {
UIApplication.shared.open(webURL as URL, options: [:], completionHandler: nil)
}
else {
UIApplication.shared.openURL(webURL as URL)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2794 次 |
| 最近记录: |