我開始把韓劇歐巴台詞丟進 API.AI想說做圖靈測試
情境跟語意跳針回覆,不如丟相聲台詞
target 'chatbotTutorial' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for chatbotTutorial pod 'ApiAI' pod 'JSQMessagesViewController' pod 'RealmSwift' post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '3.0' end end end end
import ApiAI /.../ let configuration: AIConfiguration = AIDefaultConfiguration() configuration.clientAccessToken = "YOUR_CLIENT_ACCESS_TOKEN" let apiai = ApiAI.shared()! apiai.configuration = configuration //apiai.lang = "zh-TW"
// MARK: - 訊息印出來 func addMessage(_ senderName: String, _ senderID: String, _ senderMessage: String) { let message = JSQMessage(senderId: senderId, displayName: senderDisplayName, text: text) messages.append(message!) finishSendingMessage() }
// MARK: - 多少訊息顯示 override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return messages.count } // MARK: - 顯示哪個訊息 override func collectionView(_ collectionView: JSQMessagesCollectionView!, messageDataForItemAt indexPath: IndexPath!) -> JSQMessageData! { return messages[indexPath.row] }
// MARK: - 定義好顯示使用者名稱 override func collectionView(_ collectionView: JSQMessagesCollectionView!, attributedTextForCellTopLabelAt indexPath: IndexPath!) -> NSAttributedString! { let message = messages[indexPath.row] let messageUserName = message.senderDisplayName return NSAttributedString(string: messageUserName!) }
//MARK: - 頭像 override func collectionView(_ collectionView: JSQMessagesCollectionView!, avatarImageDataForItemAt indexPath: IndexPath!) -> JSQMessageAvatarImageDataSource! { let message = messages[indexPath.row] if currentUser.id == message.senderId { return JSQMessagesAvatarImageFactory.avatarImage(with: UIImage(named:"user.info.avator1")!, diameter: 30) } else { return JSQMessagesAvatarImageFactory.avatarImage(with: UIImage(named:"user.info.avator2")!, diameter: 30) } }
// MARK: - 定義好bubblename 與框框距離 override func collectionView(_ collectionView: JSQMessagesCollectionView!, layout collectionViewLayout: JSQMessagesCollectionViewFlowLayout!, heightForCellTopLabelAt indexPath: IndexPath!) -> CGFloat { return 15 }
// MARK: - 判斷使用者id顯示對話框顏色 override func collectionView(_ collectionView: JSQMessagesCollectionView!, messageBubbleImageDataForItemAt indexPath: IndexPath!) -> JSQMessageBubbleImageDataSource! { let bubbleFactory = JSQMessagesBubbleImageFactory() let message = messages[indexPath.row] if currentUser.id == message.senderId { return bubbleFactory?.outgoingMessagesBubbleImage(with: .green) } else { return bubbleFactory?.incomingMessagesBubbleImage(with: .blue) } }